:root {
  --bg: #f3f0e7;
  --bg-soft: #ebe4d4;
  --surface: rgba(255,255,255,0.7);
  --surface-solid: #fffdf8;
  --text: #22241e;
  --text-soft: #5c6154;
  --primary: #576448;
  --primary-dark: #3d4933;
  --accent: #b18a60;
  --border: rgba(87, 100, 72, 0.18);
  --shadow: rgba(48, 53, 42, 0.12);
  --container: 1180px;
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background: linear-gradient(180deg, #f5f2ea 0%, #efe9dc 100%);
  color: var(--text);
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 32px), var(--container)); margin: 0 auto; }
.section { padding: 96px 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(20px);
  background: rgba(243, 240, 231, 0.78);
  border-bottom: 1px solid rgba(87, 100, 72, 0.10);
}
.nav-wrap {
  position: relative;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: nowrap;
}
.logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.logo-img {
  height: 52px;
  width: auto;
  display: block;
  flex: 0 0 auto;
}
.logo-text {
  min-width: 0;
}
.logo-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top, #768764, var(--primary-dark));
  color: #fff;
  font-size: 1.6rem;
  box-shadow: 0 12px 24px var(--shadow);
}
.logo-text strong { display: block; font-size: 1.08rem; }
.logo-text small { color: var(--text-soft); }
.main-nav {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 1 1 auto;
  justify-content: center;
  min-width: 0;
}
.main-nav a {
  color: var(--text-soft);
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
}
.main-nav a:hover { color: var(--primary-dark); }
.nav-toggle {
  display: none;
  border: 0;
  background: var(--surface-solid);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 1.2rem;
}
.btn {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 14px 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, #647455, var(--primary-dark));
  color: #fff !important;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 14px 26px var(--shadow);
}
.btn-secondary {
  background: transparent;
  color: var(--primary-dark) !important;
  border: 1px solid rgba(87, 100, 72, 0.26);
  box-shadow: none;
}
.btn-block { width: 100%; }
.glass-card,
.soft-panel,
.nature-card,
.landscape-card,
.price-box,
.contact-box,
.faq-list details {
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 44px var(--shadow);
}
.glass-card {
  background: rgba(255,255,255,0.52);
  backdrop-filter: blur(12px);
  padding: 34px;
}
.hero {
  position: relative;
  padding: 84px 0 72px;
  overflow: hidden;
}
.hero::before,
.hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(10px);
}
.hero::before {
  width: 420px; height: 420px;
  background: rgba(177, 138, 96, 0.12);
  left: -120px; top: -90px;
}
.hero::after {
  width: 560px; height: 560px;
  background: rgba(87, 100, 72, 0.10);
  right: -160px; bottom: -220px;
}
.hero-wrap {
  position: relative;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 34px;
  align-items: center;
}
.hero-copy h1,
h2 {
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.02;
  margin: 0 0 18px;
}
.hero-copy h1 { font-size: clamp(2rem, 3.5vw, 3.35rem); max-width: 11ch; }
h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.eyebrow,
.section-tag {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: .8rem;
  font-weight: 700;
}
.lead,
p,
li,
small,
span { color: var(--text-soft); }
.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 28px 0;
}
.hero-points { display: none; }
.hero-tile-links {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
  align-items: start;
}
.hero-tile-link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  text-align: center;
}
.hero-tile-link img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 10px 20px var(--shadow);
}
.hero-tile-link span {
  color: var(--primary-dark);
  font-size: .96rem;
  line-height: 1.35;
  font-weight: 600;
}
.hero-tile-link:hover img {
  transform: translateY(-2px);
}
.hero-visual img,
.landscape-card img,
.nature-card img {
  border-radius: var(--radius-xl);
}
.hero-tile-link img { transition: transform .2s ease, box-shadow .2s ease; }
.intro-band {
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(236,228,212,.44));
}
.intro-grid,
.split-layout,
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: center;
}
.soft-panel {
  background: rgba(255,252,246,0.75);
  padding: 28px;
}
.soft-panel ul { margin: 14px 0 0; padding-left: 18px; }
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 26px;
}
.nature-card {
  background: rgba(255,255,255,.70);
  padding: 18px;
}
.nature-card img { margin-bottom: 18px; }
.landscape-section {
  background: linear-gradient(180deg, rgba(87, 100, 72, 0.06), rgba(87, 100, 72, 0.01));
}
.text-block blockquote {
  margin: 28px 0 0;
  padding: 22px 24px;
  border-left: 4px solid var(--accent);
  background: rgba(255,255,255,.45);
  border-radius: 0 18px 18px 0;
  color: var(--primary-dark);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.45rem;
}
.moss {
  background: linear-gradient(180deg, rgba(61,73,51,0.88), rgba(76,92,62,0.92));
}
.moss .section-tag,
.moss h2,
.moss strong,
.moss span { color: #f5f1e6; }
.feature-ribbon {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 22px;
}
.feature-stack {
  display: grid;
  gap: 14px;
}
.feature-ribbon .feature-card,
.feature-ribbon .feature-image-card {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.12);
  overflow: hidden;
}
.feature-ribbon .feature-card {
  padding: 24px 20px;
  background: rgba(255,255,255,0.08);
}
.feature-ribbon .feature-image-card {
  background: rgba(255,255,255,0.06);
  aspect-ratio: 1.35 / 1;
}
.feature-ribbon .feature-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-ribbon strong { display: block; margin-bottom: 8px; }
.price-box {
  background: rgba(255,252,246,0.82);
  padding: 18px;
}
.price-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: 18px 10px;
  border-bottom: 1px solid rgba(87, 100, 72, 0.12);
}
.price-item:last-child { border-bottom: 0; }
.price-item strong { color: var(--primary-dark); }
.faq-section { background: rgba(255,255,255,0.18); }
.faq-list { display: grid; gap: 16px; }
.faq-list details {
  background: rgba(255,255,255,0.66);
  padding: 22px 24px;
}
.faq-list summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: var(--primary-dark);
}
.faq-list summary::-webkit-details-marker { display: none; }
.contact-box {
  background: rgba(255,252,246,0.82);
  padding: 28px;
}
.site-footer {
  padding: 28px 0 40px;
  border-top: 1px solid rgba(87, 100, 72, 0.12);
}
.footer-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; }
.reverse { direction: rtl; }
.reverse > * { direction: ltr; }


.gallery-hero {
  padding: 84px 0 28px;
}
.gallery-intro {
  max-width: 760px;
  margin-bottom: 28px;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.gallery-item {
  display: block;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.6);
  border: 1px solid var(--border);
  box-shadow: 0 14px 28px var(--shadow);
}
.gallery-item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.gallery-empty {
  padding: 22px 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--border);
}

@media (max-width: 980px) {
  .logo-img { height: 44px; }

  .hero-wrap,
  .intro-grid,
  .split-layout,
  .contact-grid,
  .cards,
  .feature-ribbon {
    grid-template-columns: 1fr;
  }
  .main-nav {
    position: absolute;
    top: 84px;
    left: 16px;
    right: 16px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: 0 20px 40px var(--shadow);
  }
  .main-nav.open { display: flex; }
  .nav-toggle { display: inline-flex; }
  .footer-wrap { flex-direction: column; align-items: flex-start; }
  .section { padding: 76px 0; }
}

@media (max-width: 640px) {
  .hero { padding-top: 48px; }
  .glass-card,
  .soft-panel,
  .nature-card,
  .contact-box,
  .faq-list details {
    padding: 22px;
  }
  .hero-points { gap: 8px; }
}


.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.lang-switch a {
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid transparent;
}
.lang-switch a.active,
.lang-switch a:hover {
  color: var(--primary-dark);
  background: rgba(255,255,255,.6);
  border-color: rgba(87, 100, 72, 0.14);
}

.slider-shell {
  position: relative;
}
.hero-slider {
  position: relative;
  height: 100%;
  min-height: 420px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  box-shadow: 0 24px 44px var(--shadow);
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .7s ease;
}
.hero-slide.active {
  opacity: 1;
}
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-points a {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(87, 100, 72, 0.14);
  color: var(--text-soft);
  font-weight: 600;
}
.hero-points a:hover {
  color: var(--primary-dark);
  transform: translateY(-1px);
}
.map-card {
  overflow: hidden;
  background: rgba(255,252,246,0.82);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 44px var(--shadow);
}
.map-card iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
}
.map-note {
  padding: 18px 22px 22px;
}
.legal-page {
  min-height: 100vh;
}
.legal-main {
  padding: 80px 0 100px;
}
.legal-box {
  background: rgba(255,255,255,.72);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: 0 24px 44px var(--shadow);
  padding: 34px;
}
.legal-box h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1.02;
  margin: 0 0 16px;
}
.legal-box h2 {
  font-size: 1.3rem;
  margin: 28px 0 10px;
  font-family: 'Inter', sans-serif;
}
.legal-box p, .legal-box li {
  color: var(--text-soft);
}
.muted {
  color: var(--text-soft);
}
.notice-box {
  margin-top: 20px;
  padding: 16px 18px;
  background: rgba(177, 138, 96, 0.12);
  border: 1px solid rgba(177, 138, 96, 0.24);
  border-radius: 18px;
}
@media (max-width: 980px) {
  .lang-switch {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    margin: 8px 0 0;
  }
}
@media (max-width: 640px) {
  .hero-slider {
    min-height: 300px;
  }
  .map-card iframe {
    height: 300px;
  }
  .legal-box {
    padding: 24px;
  }
}

@media (max-width: 1024px) {
  .hero-tile-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .feature-ribbon { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .hero-copy h1 { max-width: none; }
  .hero-tile-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .feature-ribbon { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}


.social-cluster {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: 8px;
  flex: 0 0 auto;
}
.social-icons {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.social-icons a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.58);
  border: 1px solid rgba(87, 100, 72, 0.14);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.social-icons a:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,0.82);
  border-color: rgba(87, 100, 72, 0.28);
}
.social-icons img {
  width: 18px;
  height: 18px;
}
.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.footer-social span {
  color: var(--text-soft);
  font-weight: 600;
}
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(87, 100, 72, 0.14);
}
.footer-social img {
  width: 16px;
  height: 16px;
}


@media (max-width: 1280px) {
  .nav-wrap {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 12px;
    padding: 10px 0;
  }

  .logo {
    margin-right: auto;
  }

  .main-nav {
    order: 3;
    flex: 1 1 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px 18px;
  }

  .social-cluster {
    margin-left: auto;
  }
}

@media (max-width: 960px) {
  .nav-wrap {
    flex-wrap: nowrap;
  }

  .main-nav {
    display: none;
  }

  .main-nav.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .social-icons {
    display: none;
  }

  .logo-text small {
    display: none;
  }
}

.faq-list code {
  background: rgba(0,0,0,.06);
  padding: 2px 6px;
  border-radius: 6px;
}

/* --- SLIDER PERFEKTIONIERUNG --- */

.slider-shell {
  position: relative;
}

.hero-slider {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
}





/* Abstand der Kachelzeile unter dem Slider etwas sauberer */
.hero-tile-links {
  margin-top: 22px;
}

/* Tablet */
@media (max-width: 1024px) {
  
  }

/* Handy */
@media (max-width: 640px) {
  
  }

/* --- SLIDER FINAL FIX --- */
.slider-shell {
  display: flex;
  flex-direction: column;
}

.hero-slider {
  position: relative;
  height: 100%;
  min-height: 420px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  box-shadow: 0 24px 44px var(--shadow);
}

.slider-dots {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  z-index: 5;
  padding: 10px 14px;
  margin: 14px auto 6px;
  border-radius: 999px;
  background: rgba(34, 36, 30, 0.28);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
  opacity: 0.9;
}

.slider-dot:hover {
  transform: scale(1.15);
  background: rgba(255, 255, 255, 0.8);
}

.slider-dot.active {
  background: #ffffff;
  transform: scale(1.2);
  opacity: 1;
}

.hero-tile-links {
  margin-top: 10px;
}


@media (max-width: 640px) {
  .hero-slider {
    min-height: 300px;
  }

  .slider-dots {
    padding: 7px 10px;
    gap: 7px;
    margin: 12px auto 4px;
  }

  .slider-dot {
    width: 8px;
    height: 8px;
  }
}


/* ===== GOOGLE REVIEWS PREMIUM FIX ===== */

.reviews-premium-section {
  background: linear-gradient(180deg, #f7f3eb 0%, #ffffff 100%);
  padding-top: 60px;
  padding-bottom: 60px;
}

.reviews-premium-head {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px;
}

.google-rating-panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
  border-radius: 20px;
  padding: 20px 25px;
  margin-bottom: 40px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.06);
  flex-wrap: wrap;
  gap: 15px;
}

.google-rating-badge {
  display: flex;
  align-items: center;
  gap: 15px;
}

.google-badge-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: linear-gradient(135deg, #4285F4, #34A853, #FBBC05, #EA4335);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 20px;
}

/* GRID FIX */
.reviews-premium-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

/* CARDS */
.review-premium-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 20px 45px rgba(0,0,0,0.06);
  transition: transform 0.2s ease;
}

.review-premium-card:hover {
  transform: translateY(-5px);
}

/* STARS */
.review-stars {
  color: #f5b301;
  font-size: 18px;
  margin-bottom: 10px;
}

/* TEXT */
.review-premium-card p {
  font-style: italic;
  margin-bottom: 10px;
  line-height: 1.5;
}

/* AUTHOR */
.review-premium-card span {
  font-size: 14px;
  color: #777;
}

/* MOBILE */
@media (max-width: 900px) {
  .reviews-premium-grid {
    grid-template-columns: 1fr;
  }
}


/* V34: Bild-/Lightbox- und Gastgeberbild-Korrektur */
.lightbox-open { overflow: hidden; }
.landscape-card { overflow: hidden; background: rgba(255,255,255,.55); }
.landscape-card img { width: 100%; height: 100%; min-height: 360px; max-height: 560px; object-fit: cover; object-position: center center; display: block; }
.music-dummy-link[aria-disabled="true"] { opacity: .88; cursor: default; }
@media (max-width: 760px) { .landscape-card img { min-height: 260px; } }


/* V44 Header-/Frontend-Fix */
.site-header .nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.site-header .logo{order:1;margin-right:0!important;}
.site-header .header-actions{order:2;margin-left:auto!important;display:inline-flex;align-items:center;gap:10px;}
.site-header .main-nav{order:3;flex:1 1 100%;justify-content:center;}
.site-header .nav-toggle{order:4;}
.guest-login-top{padding:.45rem .7rem!important;min-height:34px;font-size:.88rem;line-height:1;border-radius:999px;}
.lang-dropdown-toggle{min-height:34px;padding:.45rem .7rem!important;font-size:.88rem;}
@media(max-width:960px){
  .site-header .nav-wrap{flex-wrap:nowrap;}
  .site-header .main-nav{position:absolute;top:84px;left:16px;right:16px;flex:initial;}
  .site-header .header-actions{margin-left:auto!important;gap:8px;}
  .guest-login-top{font-size:.82rem;padding:.42rem .58rem!important;}
}
@media(max-width:640px){
  .site-header .logo-text small{display:none;}
  .site-header .header-actions .social-cluster{display:none;}
}

/* V44 Status + Wetter */
.utility-section{padding:34px 0 42px!important;}
.utility-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
.occupancy-widget,.weather-widget{min-height:128px;}
.occupancy-widget .btn-small{justify-self:end;align-self:center;}
@media(max-width:820px){.utility-grid{grid-template-columns:1fr}.occupancy-widget{grid-template-columns:auto 1fr;}.occupancy-widget .btn-small{grid-column:1/-1;justify-self:start;}}

/* V47: Ampelpunkt deutlicher */
.occupancy-dot{width:28px!important;height:28px!important;min-width:28px!important;box-shadow:0 0 0 6px rgba(61,73,51,.08)}


/* V49: Song-Button und Gäste-Subnavigation */
.song-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;background:transparent;box-shadow:none;padding:0;margin:0;line-height:0;max-width:min(100%,360px);}
.song-cta img{display:block;width:100%;height:auto;border-radius:999px;filter:drop-shadow(0 12px 22px rgba(48,53,42,.18));transition:transform .18s ease,filter .18s ease;}
.song-cta:hover img{transform:translateY(-1px);filter:drop-shadow(0 16px 26px rgba(48,53,42,.22));}
.hero-actions .song-cta{flex-basis:100%;margin-top:2px;}
@media(max-width:640px){.song-cta{max-width:100%;}}


/* V51: sauber ausgerichtete Fahrzeugauswahl */
.vehicle-radio-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 18px!important;
  align-items:start;
}
.vehicle-radio-row label{
  display:grid!important;
  grid-template-columns:20px 1fr;
  gap:8px;
  align-items:start;
  text-align:left!important;
  line-height:1.35;
  padding:6px 0;
}
.vehicle-radio-row input[type=radio]{
  margin-top:.18rem;
  justify-self:start;
}
.vehicle-radio-row span{
  color:var(--text);
  font-weight:600;
}
@media(max-width:820px){.vehicle-radio-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.vehicle-radio-row{grid-template-columns:1fr;}}

/* V52: Fahrzeugauswahl systematisch und mobil sauber */
.vehicle-radio-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(4,auto)!important;
  gap:.55rem 1.15rem!important;
  align-items:start!important;
}
.vehicle-radio-row label{
  display:grid!important;
  grid-template-columns:14px minmax(0,1fr)!important;
  gap:.5rem!important;
  align-items:start!important;
  text-align:left!important;
  line-height:1.28!important;
  min-height:1.75rem!important;
  padding:0!important;
  margin:0!important;
}
.vehicle-radio-row input[type=radio],
.vehicle-radio-row input{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin:.18rem 0 0!important;
  padding:0!important;
  justify-self:start!important;
  flex:0 0 14px!important;
}
.vehicle-radio-row span{
  display:block!important;
  color:#24301f!important;
  font-size:.94rem!important;
  font-weight:600!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:900px){
  .vehicle-radio-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-template-rows:none!important;
  }
}
@media(max-width:560px){
  .vehicle-radio-row{grid-template-columns:1fr!important;}
  .vehicle-radio-row label{grid-template-columns:13px minmax(0,1fr)!important;gap:.45rem!important;}
  .vehicle-radio-row input[type=radio],.vehicle-radio-row input{width:13px!important;height:13px!important;min-width:13px!important;}
  .vehicle-radio-row span{font-size:.9rem!important;}
}


/* V102: Sprachmenü und Google-Rezensionen */
.lang-dropdown:hover .lang-dropdown-menu,
.lang-dropdown.open .lang-dropdown-menu {
  display: grid;
  gap: .2rem;
}
.lang-dropdown-toggle { cursor: pointer; }
.lang-dropdown-menu a.active {
  outline: 1px solid rgba(87,100,72,.22);
}
.google-reviews-section {
  background: linear-gradient(180deg, rgba(250,248,242,.8), rgba(255,255,255,1));
}
.reviews-heading {
  max-width: 820px;
  margin: 0 auto 2.2rem;
  text-align: center;
}
.reviews-heading h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.reviews-heading p:not(.section-tag) {
  color: #4d5945;
  font-size: 1.05rem;
  line-height: 1.65;
}
.google-review-link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(87,100,72,.12);
  border-radius: 24px;
  padding: 1.25rem 1.55rem;
  box-shadow: 0 22px 60px rgba(28,34,20,.09);
  margin-bottom: 2rem;
}
.google-review-brand {
  display: flex;
  align-items: center;
  gap: .95rem;
  color: #2d3528;
}
.google-review-icon {
  width: 50px;
  height: 50px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 900;
  font-size: 1.35rem;
  background: linear-gradient(135deg,#4285f4 0%,#34a853 34%,#fbbc05 66%,#ea4335 100%);
}
.review-quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}
.review-quote-card {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(87,100,72,.1);
  border-radius: 22px;
  padding: 1.55rem;
  box-shadow: 0 16px 38px rgba(28,34,20,.07);
}
.review-stars {
  color: #e5a100;
  letter-spacing: .08em;
  font-weight: 800;
  margin-bottom: 1rem;
}
.review-quote-card p {
  font-style: italic;
  line-height: 1.55;
  color: #3f4b38;
  margin: 0 0 1rem;
}
.review-quote-card span,
.review-note {
  color: #66705f;
  font-size: .94rem;
}
.review-note {
  margin-top: 1rem;
}
@media (max-width: 860px) {
  .google-review-link-card { align-items: stretch; flex-direction: column; }
  .google-review-link-card .btn { width: 100%; text-align: center; }
  .review-quote-grid { grid-template-columns: 1fr; }
}


/* V103: Premium-Google-Rezensionen und robustes Sprachmenü */
.lang-dropdown-menu{max-height:min(70vh,520px);overflow:auto}.lang-dropdown:hover .lang-dropdown-menu,.lang-dropdown:focus-within .lang-dropdown-menu{display:grid}.lang-dropdown-toggle{cursor:pointer}.lang-dropdown-menu a{text-decoration:none}.lang-dropdown-menu a.active::after{content:"✓";margin-left:auto;color:#576448;font-weight:900}.reviews-premium-section{position:relative;background:linear-gradient(180deg,#f7f3eb 0%,#fffaf1 48%,#ffffff 100%);padding:82px 0 76px;overflow:hidden}.reviews-premium-section::before{content:"";position:absolute;inset:24px auto auto 50%;width:620px;height:620px;transform:translateX(-50%);background:radial-gradient(circle,rgba(181,129,71,.16),rgba(181,129,71,0) 62%);pointer-events:none}.reviews-premium-section .container{position:relative}.reviews-premium-head{text-align:center;max-width:880px;margin:0 auto 34px}.reviews-premium-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.95;margin:.4rem 0 1.1rem;color:#24261f;letter-spacing:-.03em}.reviews-premium-head p:not(.section-tag){font-size:1.08rem;line-height:1.7;color:#4d5649;max-width:760px;margin:0 auto}.google-rating-panel-premium{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(87,100,72,.12);border-radius:26px;padding:22px 24px;margin:38px auto 40px;box-shadow:0 26px 70px rgba(37,42,31,.11);max-width:1180px}.google-rating-badge{display:flex;align-items:center;gap:16px}.google-rating-badge strong{display:block;font-size:1.05rem;color:#171a14}.google-rating-badge span:not(.google-badge-icon){display:block;color:#56604f}.google-badge-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#4285f4 0%,#34a853 36%,#fbbc05 68%,#ea4335 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.13)}.google-rating-score{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.google-rating-score strong{color:#f5b301;letter-spacing:.06em;font-size:1.15rem}.google-rating-score span{font-size:.86rem;color:#687160}.reviews-premium-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.review-premium-card{background:rgba(255,255,255,.9);border:1px solid rgba(87,100,72,.1);border-radius:26px;padding:30px 28px;box-shadow:0 24px 62px rgba(37,42,31,.09);min-height:205px;transition:transform .2s ease,box-shadow .2s ease}.review-premium-card:hover{transform:translateY(-6px);box-shadow:0 32px 80px rgba(37,42,31,.13)}.review-premium-card .review-stars{color:#f5b301;font-size:1.08rem;letter-spacing:.08em;margin-bottom:18px}.review-premium-card p{font-size:1.06rem;line-height:1.55;font-style:italic;color:#384033;margin:0 0 18px}.review-premium-card span{color:#717a6a;font-size:.92rem}.review-note{margin-top:16px;color:#626b5d;font-size:.93rem}@media(max-width:960px){.google-rating-panel-premium{grid-template-columns:1fr}.google-rating-score{align-items:flex-start}.reviews-premium-grid{grid-template-columns:1fr!important}.review-premium-card{min-height:auto}}@media(max-width:640px){.reviews-premium-section{padding:58px 0}.google-rating-panel-premium{padding:18px;border-radius:22px}.reviews-premium-head h2{font-size:2.65rem}}

/* v834: einheitlicher Such- und Filterstandard nach Rechnungsverwaltung */
.cala-filter-v834{--filter-gap:.48rem;display:grid;gap:var(--filter-gap);align-items:end}
.cala-filter-v834 .cala-filter-fields-v834{display:grid;grid-template-columns:repeat(var(--filter-columns,4),minmax(0,1fr));gap:var(--filter-gap);align-items:stretch}
.cala-filter-v834 .cala-filter-card-v834{min-width:0;padding:.5rem .6rem .58rem;border:1px solid #b9c5cf;border-radius:12px;background:#f3f5f7;box-sizing:border-box}
.cala-filter-v834>.field{min-width:0;padding:.5rem .6rem .58rem;border:1px solid #b9c5cf;border-radius:12px;background:#f3f5f7;box-sizing:border-box}
.cala-filter-v834>.field:nth-of-type(4n+2){background:#edf6ff;border-color:#97c9ef}
.cala-filter-v834>.field:nth-of-type(4n+3){background:#fff6e5;border-color:#edc36e}
.cala-filter-v834>.field:nth-of-type(4n+4){background:#eef9f0;border-color:#9ed0aa}
.cala-filter-v834 .cala-filter-card-v834:nth-child(4n+2){background:#edf6ff;border-color:#97c9ef}
.cala-filter-v834 .cala-filter-card-v834:nth-child(4n+3){background:#fff6e5;border-color:#edc36e}
.cala-filter-v834 .cala-filter-card-v834:nth-child(4n+4){background:#eef9f0;border-color:#9ed0aa}
.cala-filter-v834 .cala-filter-card-v834 label{display:block;margin:0 0 .2rem!important;font-weight:850}
.cala-filter-v834>.field label{display:block;margin:0 0 .2rem!important;font-weight:850}
.cala-filter-v834 .cala-filter-card-v834 input,.cala-filter-v834 .cala-filter-card-v834 select{width:100%;min-height:32px;background:#fff}
.cala-filter-v834>.field input,.cala-filter-v834>.field select{width:100%;min-height:32px;background:#fff}
.cala-filter-actions-v834{display:flex;gap:.45rem;align-items:center;justify-content:flex-end}
.cala-filter-submit-v834{min-height:42px!important;padding:.52rem 1rem!important;font-weight:900!important;background:linear-gradient(180deg,#5e714e,#35432c)!important;color:#fff!important;border:1px solid #2d3926!important;box-shadow:0 3px 8px rgba(43,57,36,.24)!important}
.cala-filter-reset-v834{min-height:32px!important;display:inline-flex!important;align-items:center;justify-content:center;background:#dcecf9!important;color:#174b7a!important;border-color:#b8d5ec!important}
.cala-filter-quick-v834{display:flex;gap:.25rem .32rem;flex-wrap:wrap;align-items:center;margin:.08rem 0}
.cala-filter-quick-v834 .btn-small{border-radius:999px;font-weight:700}
.cala-filter-quick-v834 .is-active,.cala-filter-quick-v834 .active{outline:2px solid rgba(36,48,31,.34);outline-offset:1px}
.cala-filter-tools-v834{display:flex;gap:.35rem;align-items:center;justify-content:flex-end}
.customer-filter-grid-v358 .customer-create-v835{grid-column:1;display:flex;align-items:center;justify-content:flex-start}
.customer-filter-grid-v358 .customer-submit-v835{grid-column:6 / 8;justify-content:flex-end}
@media(max-width:1250px){.cala-filter-v834 .cala-filter-fields-v834{grid-template-columns:repeat(3,minmax(150px,1fr))}.cala-filter-actions-v834{justify-content:flex-start}}
@media(max-width:1250px){.customer-filter-grid-v358 .customer-create-v835,.customer-filter-grid-v358 .customer-submit-v835{grid-column:auto}}
@media(max-width:760px){.cala-filter-v834 .cala-filter-fields-v834{grid-template-columns:1fr}.cala-filter-actions-v834,.cala-filter-tools-v834{justify-content:stretch;flex-direction:column}.cala-filter-actions-v834>*{width:100%}.customer-filter-grid-v358 .customer-create-v835,.customer-filter-grid-v358 .customer-submit-v835{grid-column:1/-1}}
