:root {
  --lake:#1C4E6E; --lake-mid:#2E7096; --lake-light:#B8D8E8;
  --cream:#F9F5EF; --warm:#E8DFD0; --terra:#C05A38; --gold:#C89B4A;
  --dark:#1A1A1A; --mid:#5A5A5A; --light:#9A9A9A; --white:#FFFFFF;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'Jost',sans-serif;

  /* NEU: Nav-Höhen zentral definiert */
  --nav-height: 54px;
  --subnav-height: 44px; /* Höhe der Kategorie-Leiste */
  --total-nav: calc(var(--nav-height) + var(--subnav-height));
}

html, body { margin: 0 !important; padding: 0 !important; }
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);color:var(--dark);background:var(--white);overflow-x:hidden;}
img{display:block;width:100%;}
a{text-decoration:none;color:inherit;}

/* =========================================
   BARRIEREFREIHEIT (ACCESSIBILITY)
   ========================================= */
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-bg,
  .scroll-hint,
  .gallery-item-inner {
    animation: none !important;
    transition: none !important;
  }
}
/* STICKY BUTTON */
.cta-sticky {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  background: var(--terra); color: var(--white);
  padding: 14px 24px; border-radius: 30px;
  font-family: var(--font-sans); font-size: 0.8rem; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase;
  box-shadow: 0 4px 20px rgba(192,90,56,0.45);
  transition: transform 0.2s, background 0.3s, opacity 0.3s;
  display: flex; align-items: center; gap: 8px;
  opacity: 0; pointer-events: none;
}
.cta-sticky:hover {
  background: #a04a2a; transform: translateY(-2px);
}

/* =========================================
   KOPFZEILE (HEADER & SPRACHAUSWAHL)
   ========================================= */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: var(--nav-height); /* HIER DIE VARIABLE */
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 48px;
  background: transparent; /* Startet komplett durchsichtig! */
  transition: background 0.4s, box-shadow 0.4s;
}
#nav.scrolled {
  background: rgba(28,78,110,0.98); /* Wird beim Scrollen zum edlen Dunkelblau */
  box-shadow: 0 2px 15px rgba(0,0,0,0.15);
}

/* Logo anpassen */
.nav-logo img {
  height: 30px; 
  width: auto;
  border-radius: 4px;
  display: block;
}

/* Container für Sprache */
.nav-controls {
  display: flex; align-items: center; gap: 24px;
}

/* Sprachauswahl */
.lang-bar { display: flex; }
.lang-bar button {
  padding: 8px 12px; background: none; border: none; cursor: pointer;
  font-family: var(--font-sans); font-size: 0.8rem; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.6); transition: color 0.3s;
  border-bottom: 2px solid transparent;
}
.lang-bar button.active, .lang-bar button:hover { color: var(--white); }
.lang-bar button.active { border-bottom: 2px solid var(--gold); }

/* Desktop Links */
.nav-links { display: flex; gap: 32px; list-style: none; align-items: center; }
.nav-links a { font-size: 0.74rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.85); transition: color 0.3s; padding-bottom: 3px; border-bottom: 1px solid transparent; }
.nav-links a:hover, .nav-links a.current { color: var(--white); border-color: rgba(255,255,255,0.6); }

/* HERO */
.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(165deg,#0d2f45 0%,#1C4E6E 35%,#2E7096 60%,#7ab0c8 100%);transform:scale(1.04);animation:heroZoom 12s ease-out forwards;}
@keyframes heroZoom{from{transform:scale(1.04);}to{transform:scale(1);}}
.hero-photo{position:absolute;inset:0;background-image:url('hero-ausblick.jpg');background-size:cover;background-position:center 30%;opacity:0.82;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,28,40,0.80) 0%,rgba(10,28,40,0.50) 50%,rgba(10,28,40,0.15) 100%);}
.hero-content{position:relative;z-index:10;padding:140px 72px 72px;max-width:720px;animation:heroFadeUp 1.1s ease-out both;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.hero-eyebrow{font-size:0.72rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.hero h1{font-family:var(--font-serif);font-size:clamp(2.4rem,5.5vw,5rem);font-weight:300;line-height:1.08;color:var(--white);margin-bottom:20px;}
.hero h1 em{font-style:italic;color:var(--lake-light);}
.hero-sub{font-size:1.05rem;font-weight:300;color:rgba(255,255,255,0.80);line-height:1.75;margin-bottom:36px;max-width:520px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;}
.hero-trust-item{display:flex;align-items:center;gap:7px;font-size:0.78rem;color:rgba(255,255,255,0.70);font-weight:300;letter-spacing:0.02em;}
.hero-trust-item .t-icon{color:var(--gold);font-size:0.9rem;}
.btn-primary{padding:15px 36px;background:var(--terra);color:var(--white);font-family:var(--font-sans);font-size:0.8rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;border-radius:4px;border:none;cursor:pointer;transition:background 0.3s,transform 0.2s;display:inline-block;}
.btn-primary:hover{background:#a04a2a;transform:translateY(-2px);}
.btn-outline{padding:14px 36px;background:transparent;color:var(--white);font-family:var(--font-sans);font-size:0.8rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,0.55);border-radius:4px;cursor:pointer;transition:border-color 0.3s,background 0.3s;display:inline-block;}
.btn-outline:hover{border-color:white;background:rgba(255,255,255,0.1);}
.scroll-hint{position:absolute;bottom:32px;right:72px;z-index:10;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,0.45);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;animation:bounce 2s infinite;}
.scroll-hint::before{content:'';width:1px;height:48px;background:rgba(255,255,255,0.3);}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}

/* SECTIONS COMMON */
section { padding: 100px 72px; scroll-margin-top: var(--total-nav); }
.section-label{font-size:0.7rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--terra);margin-bottom:14px;}
.section-title{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,3.1rem);font-weight:300;line-height:1.15;color:var(--lake);margin-bottom:22px;}
.section-title em{font-style:italic;}
.section-body{font-size:1rem;font-weight:300;line-height:1.8;color:var(--mid);max-width:580px;}

/* STRIP */
.strip{background:var(--lake);padding:28px 72px;display:flex;gap:44px;flex-wrap:wrap;align-items:center;justify-content:center;}
.strip-item{display:flex;align-items:center;gap:12px;color:var(--white);}
.strip-icon{font-size:1.4rem;opacity:0.75;}
.strip-text{font-size:0.84rem;font-weight:300;}
.strip-text strong{font-weight:500;display:block;}

/* ABOUT */
.about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-img{position:relative;height:520px;border-radius:4px;overflow:hidden;}
.about-img-inner{width:100%;height:100%;background-size:cover;background-position:center;}
.about-img-badge{position:absolute;bottom:-20px;right:-20px;width:130px;height:130px;background:var(--terra);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center;box-shadow:0 8px 30px rgba(192,90,56,0.4);}
.badge-num{font-family:var(--font-serif);font-size:2.4rem;font-weight:300;line-height:1;}
.badge-text{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;opacity:0.85;}

/* FEATURES */
.features{background:var(--white);}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px;}
.feature-card{padding:44px 34px;background:var(--cream);transition:background 0.3s,transform 0.3s;cursor:default;}
.feature-card:hover{background:var(--lake);transform:translateY(-4px);}
.feature-icon{font-size:2rem;margin-bottom:18px;}
.feature-card h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--lake);margin-bottom:10px;transition:color 0.3s;}
.feature-card:hover h3{color:var(--white);}
.feature-card p{font-size:0.87rem;font-weight:300;line-height:1.75;color:var(--mid);transition:color 0.3s;}
.feature-card:hover p{color:rgba(255,255,255,0.8);}

/* GALLERY */
.gallery{padding:80px 0;background:var(--dark);}
.gallery-header{padding:0 72px 48px;}
.gallery-header .section-label{color:var(--gold);}
.gallery-header .section-title{color:var(--white);}
.gallery-grid {display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: 260px 260px;gap: 4px;}
.gallery-item{background:#2a3a45;overflow:hidden;position:relative;}
.gallery-item.tall{grid-row:span 2;}
.gallery-item-inner{width:100%;height:100%;background-size:cover;background-position:center;transition:transform 0.6s ease;}
.gallery-item:hover .gallery-item-inner{transform:scale(1.04);}
.gallery-label{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.55) 0%,transparent 60%);display:flex;align-items:flex-end;padding:20px;}
.gallery-label span{font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.8);font-weight:300;}

/* Versteckt die restlichen Bilder auf der Seite, hält sie aber im Code für die Lightbox */
.hidden-gallery-item { display: none !important; }

/* PRICES */
.prices{background:var(--cream);}
.price-table-outer{max-width:680px;margin-top:48px;overflow-x:auto;}
.price-table{width:100%;min-width:460px;border-collapse:collapse;font-size:0.88rem;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 6px 32px rgba(0,0,0,0.07);}
.price-table thead tr{background:var(--lake);color:var(--white);}
.price-table th{padding:13px 18px;text-align:left;font-weight:400;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;white-space:nowrap;}
.price-table tbody tr{border-bottom:1px solid var(--warm);transition:background 0.2s;}
.price-table tbody tr:last-child{border-bottom:none;}
.price-table tbody tr:hover{background:#f0eae0;}
.price-table tbody tr.base-row{background:var(--lake-light);}
.price-table td{padding:13px 18px;color:var(--mid);vertical-align:middle;}
.price-table td:first-child{color:var(--dark);font-weight:400;}
.price-tag{color:var(--terra) !important;font-weight:600 !important;white-space:nowrap;}
.season-badge{display:inline-block;padding:4px 11px;border-radius:20px;font-size:0.74rem;letter-spacing:0.03em;font-weight:500;white-space:nowrap;}
.badge-summer{background:#fff0e0;color:#c05a38;}
.badge-winter{background:#e0eaf5;color:#1c4e6e;}
.price-sync-note{display:flex;align-items:center;margin-top:16px;font-size:0.71rem;color:var(--light);}
.sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;}
.sync-dot.loading{background:#ffcc00;animation:pulse 1.5s infinite;}
.sync-dot.synced{background:#28a745;}
@keyframes pulse{0%{opacity:1;}50%{opacity:0.4;}100%{opacity:1;}}

/* ACTIVITIES TEASER */
.activities-teaser{background:var(--lake);padding:80px 72px;text-align:center;}
.activities-teaser .section-label{color:var(--gold);}
.activities-teaser .section-title{color:var(--white);margin:0 auto 14px;}
.activities-teaser .activities-intro{color:rgba(255,255,255,0.72);font-size:1rem;font-weight:300;max-width:560px;margin:0 auto 40px;line-height:1.8;}
.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:880px;margin:0 auto 40px;}
.activity-pill{padding:14px 16px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:8px;color:var(--white);font-size:0.82rem;font-weight:300;transition:background 0.3s,transform 0.2s;display:flex;align-items:center;gap:9px;text-decoration:none;}
.activity-pill:hover{background:rgba(255,255,255,0.22);transform:translateY(-2px);}
.pill-icon{font-size:1.2rem;}

/* CALENDAR */
.calendar-section{background:var(--white);}
.calendar-layout{display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:start;margin-top:48px;}
.calendar-info h3{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;color:var(--lake);margin-bottom:14px;}
.calendar-info p{font-size:0.87rem;font-weight:300;line-height:1.8;color:var(--mid);margin-bottom:16px;}
.legend{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.legend-item{display:flex;align-items:center;gap:11px;font-size:0.82rem;color:var(--mid);}
.legend-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0;}
.dot-booked{background:#9a9cff;}
.dot-free{background:#d4edda;border:1px solid #aad4b5;}
.calendar-embed-wrap{border-radius:8px;overflow:hidden;box-shadow:0 8px 36px rgba(0,0,0,0.09);}
.calendar-embed-wrap iframe{display:block;border:none;width:100%;}

/* WETTER-WIDGET */
.weather-widget{background:var(--cream);padding:80px 72px;}
.weather-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:960px;}
.weather-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 8px 40px rgba(28,78,110,0.12);}
.weather-current{background:linear-gradient(135deg,var(--lake) 0%,var(--lake-mid) 100%);padding:32px 28px;color:white;text-align:center;}
.w-main{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:8px;}
.w-icon{font-size:3.5rem;line-height:1;}
.w-temp{font-family:var(--font-serif);font-size:4rem;font-weight:300;line-height:1;}
.w-desc{font-size:0.95rem;font-weight:300;letter-spacing:0.06em;opacity:0.85;margin-bottom:20px;text-transform:capitalize;}
.w-details{display:flex;justify-content:center;gap:20px;font-size:0.8rem;font-weight:300;opacity:0.72;}
.w-detail{display:flex;align-items:center;gap:5px;}
.weather-forecast{display:grid;grid-template-columns:repeat(3,1fr);}
.w-day{padding:18px 10px;text-align:center;border-right:1px solid var(--warm);}
.w-day:last-child{border-right:none;}
.w-day-name{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);margin-bottom:8px;font-weight:500;}
.w-day-icon{font-size:1.6rem;margin-bottom:6px;}
.w-day-temps{font-size:0.82rem;}
.w-day-max{font-weight:500;color:var(--dark);}
.w-day-min{color:var(--light);margin-left:4px;}
.w-loading{padding:48px;text-align:center;color:var(--light);font-size:0.88rem;}
.w-error{padding:32px;text-align:center;color:var(--terra);font-size:0.85rem;font-weight:300;}

/* LOCATION */
.location{background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.location-map{height:420px;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.location-map iframe{width:100%;height:100%;border:none;}
.location-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.tag{padding:8px 16px;background:var(--cream);border:1px solid var(--warm);border-radius:30px;font-size:0.78rem;font-weight:400;color:var(--lake);}

/* BOOKING */
.booking{background:var(--lake);text-align:center;padding:100px 72px;}
.booking .section-label{color:var(--gold);}
.booking .section-title{color:var(--white);margin:0 auto 14px;}
.booking .booking-intro{color:rgba(255,255,255,0.72);max-width:540px;margin:0 auto 40px;font-size:1rem;font-weight:300;line-height:1.8;}
.booking-tabs{display:flex;justify-content:center;margin-bottom:32px;}
.booking-tab{padding:12px 34px;background:rgba(255,255,255,0.12);border:none;cursor:pointer;font-family:var(--font-sans);font-size:0.77rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.6);transition:background 0.3s,color 0.3s;}
.booking-tab:first-child{border-radius:4px 0 0 4px;}
.booking-tab:last-child{border-radius:0 4px 4px 0;}
.booking-tab.active{background:var(--white);color:var(--lake);}
.booking-tab:not(.active):hover{background:rgba(255,255,255,0.2);color:var(--white);}
.booking-card{max-width:760px;margin:0 auto;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.22);}
.booking-card-header{background:var(--cream);padding:22px 34px;border-bottom:1px solid var(--warm);display:flex;align-items:center;justify-content:space-between;}
.booking-card-header h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--lake);}
.lang-flag{font-size:1.4rem;}
.form-panel{display:none;}
.form-panel.active{display:block;}
.form-panel iframe{width:100%;border:none;display:block;min-height:700px;}

/* FAQ */
.faq{background:var(--cream);}
.faq-list{max-width:720px;margin-top:48px;}
.faq-item{border-bottom:1px solid var(--warm);}
.faq-item:first-child{border-top:1px solid var(--warm);}
.faq-q{width:100%;text-align:left;padding:20px 4px;background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:0.95rem;font-weight:400;color:var(--dark);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color 0.3s;}
.faq-q:hover{color:var(--lake);}
.faq-icon{font-size:1.2rem;color:var(--terra);flex-shrink:0;transition:transform 0.35s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding-bottom 0.3s;font-size:0.9rem;font-weight:300;line-height:1.85;color:var(--mid);padding-bottom:0;padding-left:4px;}
.faq-item.open .faq-a{max-height:400px;padding-bottom:22px;}

/* FOOTER */
footer{background:var(--dark);padding:64px 72px 40px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;}
.footer-brand h2{font-family:var(--font-serif);font-size:1.55rem;font-weight:300;color:var(--white);margin-bottom:12px;}
.footer-brand p{font-size:0.84rem;font-weight:300;color:rgba(255,255,255,0.42);line-height:1.75;max-width:320px;}
.footer-col h4{font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.footer-col ul{list-style:none;}
.footer-col li{font-size:0.84rem;color:rgba(255,255,255,0.48);margin-bottom:10px;font-weight:300;transition:color 0.3s;}
.footer-col li:hover{color:rgba(255,255,255,0.85);}
.footer-bottom{background:var(--dark);padding:18px 72px;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:0.74rem;color:rgba(255,255,255,0.22);font-weight:300;}

/* TRANSLATIONS */
[data-lang]{display:none;}
[data-lang].active{display:block;}
span[data-lang]{display:none;}
span[data-lang].active{display:inline;}

.cat-nav { 
  background:var(--dark); 
  padding:0 72px; 
  display:flex; 
  gap:0; 
  overflow-x:auto; 
  scrollbar-width:none; 
  position: sticky; 
  top: var(--nav-height); /* HIER DIE VARIABLE */
  z-index: 150; 
}
.cat-nav::-webkit-scrollbar { display:none; }
.cat-nav a { padding:12px 22px; font-size:0.72rem; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.5); white-space:nowrap; border-bottom:2px solid transparent; transition:color 0.3s,border-color 0.3s; }
.cat-nav a:hover { color:var(--white); border-color:var(--gold); }

/* RESPONSIVE */
@media(max-width:960px){
  :root {
    --nav-height: 48px; /* Überschreibt die Variable für Handys */
  }
  
  section { padding:72px 24px; } /* scroll-margin-top berechnet sich automatisch neu! */
  
  #nav { padding:0 24px; } /* height berechnet sich automatisch neu! */
  .cat-nav { padding: 0 16px; } /* top berechnet sich automatisch neu! */
  
  /* Hero-Texte dynamisch anpassen, damit nichts überlappt */
  .hero-content { padding: 160px 24px 40px; width: 100%; }
  .page-hero-content { padding: 140px 24px 48px; width: 100%; }
  .hero h1, .page-hero h1 { font-size: clamp(2rem, 6vw, 2.8rem); } 
  
  .strip { padding:24px; gap:24px; }
  .about, .location, .calendar-layout, .weather-inner { grid-template-columns:1fr; gap:32px; }
  .about-img { height:300px; }
  .features-grid { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 200px 200px 200px; }
  .gallery-item.tall { grid-row:span 1; }
  .gallery-header { padding:0 24px 36px; }
  
  footer { grid-template-columns:1fr; padding:48px 24px 32px; }
  .footer-bottom { flex-direction:column; gap:8px; padding:16px 24px; }
  
  .nav-links { display:none; } /* Hamburger-Menü ist jetzt komplett weg */
  
  .activities-grid { grid-template-columns:repeat(2,1fr); }
  .activities-teaser, .weather-widget { padding-left:24px; padding-right:24px; }
  .act-section { padding:60px 24px; }
  .act-grid, .act-grid.two-col { grid-template-columns:1fr 1fr; }
  .act-hero-card { grid-template-columns:1fr; gap:28px; }
  .act-hero-card-img { height:240px; }
  .market-grid, .arrival-grid { grid-template-columns:1fr; }
  
  .booking { padding:72px 20px; }
  .booking-tabs { flex-wrap:wrap; gap:4px; }
  .booking-tab { border-radius:4px !important; }
  .price-table-outer { overflow-x:auto; }
  .cta-sticky { padding:12px 20px; font-size:0.76rem; bottom:16px; right:16px; }
}

@media(max-width:560px){
  .features-grid { grid-template-columns:1fr; }
  .activities-grid { grid-template-columns:1fr; }
  .act-grid, .act-grid.two-col { grid-template-columns:1fr; }
  .hero-trust { gap: 8px; margin-top: 20px; }
  .hero-trust-item { font-size: 0.72rem; }
}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lb-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.lb-img{max-width:100%;max-height:85vh;border-radius:4px;object-fit:contain;}
.lb-close{position:absolute;top:-44px;right:0;font-size:2.2rem;color:white;cursor:pointer;background:none;border:none;line-height:1;}
.lb-nav{position:absolute;width:calc(100% + 120px);left:-60px;display:flex;justify-content:space-between;pointer-events:none;}
.lb-btn{pointer-events:auto;background:rgba(255,255,255,0.12);border:none;color:white;font-size:2rem;width:52px;height:52px;border-radius:50%;cursor:pointer;transition:background 0.2s;display:flex;align-items:center;justify-content:center;}
.lb-btn:hover{background:rgba(255,255,255,0.25);}
.lb-counter{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:0.82rem;letter-spacing:0.1em;}
.gallery-item{cursor:pointer;}


/* =========================================
   SPEZIFISCHES CSS FÜR ACTIVITIES.HTML
   ========================================= */

.page-hero { position:relative; height:52vh; min-height:380px; display:flex; align-items:flex-end; overflow:hidden; }
.page-hero-bg { position:absolute; inset:0; background:linear-gradient(155deg,#0d2f45 0%,#1C4E6E 40%,#2E7096 70%,#4d8fad 100%); }
.page-hero-photo { position:absolute; inset:0; background-image:url('hero-ausblick.jpg'); background-size:cover; background-position:center 40%; opacity:0.6; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,28,40,0.88) 0%,rgba(10,28,40,0.3) 60%,transparent 100%); }
.page-hero-content { position:relative; z-index:10; padding:0 120px 56px; animation:fadeUp 0.9s ease-out both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
.page-hero-eyebrow { font-size:0.7rem; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.page-hero h1 { font-family:var(--font-serif); font-size:clamp(2.2rem,5vw,4rem); font-weight:300; color:var(--white); line-height:1.1; margin-bottom:14px; }
.page-hero h1 em { font-style:italic; color:var(--lake-light); }
.page-hero-sub { font-size:0.95rem; font-weight:300; color:rgba(255,255,255,0.72); max-width:540px; line-height:1.7; }
.act-section { padding:80px 72px; }
.act-section.bg-cream { background:var(--cream); }
.act-section.bg-white { background:var(--white); }
.act-section.bg-dark { background:var(--lake); }
.act-section.bg-dark .section-label { color:var(--gold); }
.act-section.bg-dark .section-title { color:var(--white); }
.act-section.bg-dark .section-intro { color:rgba(255,255,255,0.72); }
.act-section.bg-dark .act-card { background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.15); }
.act-section.bg-dark .act-card h3 { color:var(--white); }
.act-section.bg-dark .act-card p { color:rgba(255,255,255,0.68); }
.act-section.bg-dark .act-card .tip { background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.85); border-color:var(--gold); }

.section-intro { font-size:0.97rem; font-weight:300; line-height:1.8; color:var(--mid); max-width:680px; margin-bottom:44px; }
.act-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.act-grid.two-col { grid-template-columns:repeat(2,1fr); }
.act-card { background:var(--cream); border:1px solid var(--warm); border-radius:8px; padding:28px 24px; transition:transform 0.25s,box-shadow 0.25s; }
.act-card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(28,78,110,0.1); }
.act-card-icon { font-size:2rem; margin-bottom:14px; }
.act-card h3 { font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--lake); margin-bottom:10px; }
.act-card p { font-size:0.85rem; font-weight:300; line-height:1.75; color:var(--mid); }
.act-card .tip { margin-top:12px; padding:9px 13px; background:rgba(28,78,110,0.07); border-radius:6px; font-size:0.78rem; color:var(--lake); font-weight:400; border-left:3px solid var(--gold); }

.act-hero-card { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; margin-bottom:44px; }
.act-hero-card-img { height:340px; border-radius:8px; overflow:hidden; background:var(--lake-light); }
.act-hero-card-img div { width:100%; height:100%; background-size:cover; background-position:center; transition:transform 0.6s; }
.act-hero-card-img:hover div { transform:scale(1.04); }
.act-hero-card-text h3 { font-family:var(--font-serif); font-size:1.6rem; font-weight:400; color:var(--lake); margin-bottom:14px; }
.act-hero-card-text p { font-size:0.92rem; font-weight:300; line-height:1.85; color:var(--mid); margin-bottom:12px; }

.market-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.market-card { background:var(--white); border-radius:8px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
.market-card-head { background:var(--lake); padding:20px 22px; }
.market-card-head h3 { font-family:var(--font-serif); font-size:1.2rem; font-weight:400; color:var(--white); margin-bottom:4px; }
.market-day { font-size:0.74rem; letter-spacing:0.1em; color:var(--gold); text-transform:uppercase; }
.market-card-body { padding:18px 22px; }
.market-card-body ul { list-style:none; }
.market-card-body li { font-size:0.84rem; font-weight:300; color:var(--mid); padding:5px 0; border-bottom:1px solid var(--warm); display:flex; align-items:center; gap:8px; }
.market-card-body li:last-child { border-bottom:none; }
.market-card-body li::before { content:'·'; color:var(--gold); font-size:1.2rem; }

.arrival-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.arrival-card { background:var(--white); border-radius:8px; padding:28px 22px; box-shadow:0 4px 20px rgba(0,0,0,0.06); border-top:3px solid var(--lake); }
.arrival-card .arr-icon { font-size:2rem; margin-bottom:14px; }
.arrival-card h3 { font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--lake); margin-bottom:12px; }
.arrival-card ul { list-style:none; }
.arrival-card li { font-size:0.84rem; font-weight:300; color:var(--mid); padding:6px 0; border-bottom:1px solid var(--warm); display:flex; justify-content:space-between; gap:12px; }
.arrival-card li:last-child { border-bottom:none; }
.arrival-card li span { color:var(--terra); font-weight:500; white-space:nowrap; }

/* Responsive Anpassungen für Activities */
@media(max-width:960px){
  .page-hero-content { padding: 140px 28px 48px; } 
  .cat-nav { padding:0 16px; }
  .act-section { padding:60px 28px; }
  .act-grid, .act-grid.two-col { grid-template-columns:1fr 1fr; }
  .act-hero-card { grid-template-columns:1fr; gap:28px; }
  .act-hero-card-img { height:240px; }
  .market-grid, .arrival-grid { grid-template-columns:1fr; }
}
@media(max-width:560px){
  .act-grid, .act-grid.two-col { grid-template-columns:1fr; }
}


/* =========================================
   INFO POPUP (RENOVIERUNG)
   ========================================= */
.info-popup-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(10, 28, 40, 0.8);
  backdrop-filter: blur(5px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.4s ease;
}
.info-popup-overlay.show {
  opacity: 1; pointer-events: auto;
}
.info-popup-box {
  background: var(--white);
  padding: 40px; border-radius: 12px;
  max-width: 450px; width: 90%;
  text-align: center; position: relative;
  box-shadow: 0 24px 60px rgba(0,0,0,0.3);
  transform: translateY(20px);
  transition: transform 0.4s ease;
}
.info-popup-overlay.show .info-popup-box {
  transform: translateY(0);
}
.info-popup-close {
  position: absolute; top: 12px; right: 16px;
  background: none; border: none; font-size: 2rem;
  color: var(--light); cursor: pointer; line-height: 1;
  transition: color 0.3s;
}
.info-popup-close:hover { color: var(--terra); }
.info-popup-icon { font-size: 2.5rem; margin-bottom: 12px; }
.info-popup-box h3 {
  font-family: var(--font-serif); font-size: 1.6rem;
  color: var(--lake); margin-bottom: 12px; font-weight: 600;
}
.info-popup-box p {
  font-size: 0.95rem; color: var(--mid); line-height: 1.6;
  margin-bottom: 24px; font-weight: 300;
}
/* =========================================
   AUFKLAPPBARE KACHELN (ACTIVITIES)
   ========================================= */
.act-card.expandable {
  cursor: pointer;
  position: relative;
}
.act-card-more {
  display: inline-block;
  margin-top: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}
.act-card.expandable.expanded .act-card-more {
  display: none; /* Versteckt den "Tipp anzeigen" Text, wenn offen */
}
.act-card-details {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, margin-top 0.5s ease, opacity 0.5s ease;
}
.act-card.expandable.expanded .act-card-details {
  max-height: 600px; /* Genug Platz für den Text */
  margin-top: 16px;
  padding-top: 16px;
  opacity: 1;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.bg-dark .act-card.expandable.expanded .act-card-details {
  border-top: 1px solid rgba(255,255,255,0.1);
}
.act-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--lake);
  font-weight: 500;
  font-size: 0.85rem;
  text-decoration: underline;
}
.bg-dark .act-link {
  color: var(--lake-light);
}
/* =========================================
   COOKIE BANNER
   ========================================= */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 4000;
  background: var(--cream); border-top: 1px solid var(--warm);
  padding: 20px 48px; box-shadow: 0 -4px 24px rgba(0,0,0,0.08);
  transform: translateY(100%); transition: transform 0.5s ease;
  display: flex; justify-content: center;
}
.cookie-banner.show { transform: translateY(0); }
.cookie-content {
  max-width: 960px; width: 100%; display: flex;
  align-items: center; justify-content: space-between; gap: 24px;
}
.cookie-content p { font-size: 0.85rem; color: var(--mid); line-height: 1.6; margin: 0; }
.cookie-buttons { display: flex; gap: 12px; flex-shrink: 0; }

@media(max-width: 768px) {
  .cookie-banner { padding: 20px 24px; }
  .cookie-content { flex-direction: column; text-align: center; align-items: stretch; }
  .cookie-buttons { justify-content: center; }
}
