:root {
  --ink:#1a1a1a;
  --accent:#8a6f4d;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Poppins",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  padding-top:90px;
}

/* HEADER */
.header{
  position:fixed;top:0;width:100%;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(0,0,0,0.05);
  z-index:1000;
}
.header__inner{
  max-width:1200px;margin:0 auto;
  padding:1rem 1.5rem;
  display:flex;justify-content:space-between;align-items:center;
}
.logo img{height:72px;transition:height .3s ease;}
.nav-desktop{display:flex;gap:1.5rem;}
.nav-desktop a{
  text-decoration:none;font-weight:500;color:#222;
  transition:color .2s ease;
}
.nav-desktop a:hover{color:var(--accent);text-decoration:underline;}

/* HERO */
.hero{
  position:relative;
  height:80vh;
  background:url('../images/hero.jpg') center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
}
.hero__scrim{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,0.35),rgba(0,0,0,0.65));
}
.hero__content{position:relative;z-index:1;max-width:700px;padding:0 1rem;}
.hero__logo{
  width:clamp(240px,35vw,420px);
  margin-bottom:1.2rem;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.3));
}
.hero__title{
  font-size:clamp(2.3rem,4vw,3.6rem);
  line-height:1.25;font-weight:600;margin-bottom:.5rem;
}
.hero__subtitle{font-size:1.2rem;color:rgba(255,255,255,0.85);margin-bottom:1.8rem;}
.hero__actions{display:flex;justify-content:center;gap:1.2rem;margin-top:1.8rem;}

/* BUTTONS */
.btn{display:inline-block;padding:.7rem 1.3rem;border-radius:10px;
  font-weight:500;text-decoration:none;transition:all .3s;}
.btn--primary{background:rgba(224,196,143,0.25);border:1px solid rgba(224,196,143,0.5);color:#fff;}
.btn--primary:hover{background:rgba(224,196,143,0.4);}
.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.4);}
.btn--ghost:hover{background:rgba(255,255,255,0.25);}

/* NOTICE */
.hero__notice{
  position:absolute;
  bottom:25px;right:25px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(6px);
  color:#fff;padding:1rem 1.3rem;
  border-radius:12px;font-weight:500;
  font-size:.95rem;border:1px solid rgba(255,255,255,0.25);
  text-align:left;max-width:320px;z-index:10;
}
.notice-btn{
  display:inline-block;margin-top:.6rem;padding:.45rem .9rem;
  background:rgba(255,255,255,0.2);
  border:1px solid rgba(255,255,255,0.4);
  border-radius:8px;color:#fff;
  font-size:.9rem;text-decoration:none;
  transition:all .25s ease;backdrop-filter:blur(4px);
}
.notice-btn:hover{background:rgba(255,255,255,0.4);}

/* CONTENT */
.section,.section-alt,.intro{padding:5rem 1rem;text-align:center;}
.intro{background:#fafafa;}
.section-alt{background:#fff8f0;}
.wrapper{max-width:800px;margin:0 auto;}
h2{font-size:2rem;margin-bottom:1rem;}
p{font-size:1.1rem;color:#444;}

/* ===== TESTIMONIAL ===== */
.testimonial {
  display: none;
}
.testimonial {
  background: #fafafa;
  text-align: center;
  padding: 5rem 1rem;
}
.testimonial blockquote {
  max-width: 700px;
  margin: 2rem auto;
  font-style: italic;
  color: #333;
  line-height: 1.6;
}
.testimonial footer {
  margin-top: 0.8rem;
  font-weight: 500;
  color: #8a6f4d;
}

/* ===== GALERIE ===== */
.gallery {
  background: #fff;
  padding: 5rem 1rem;
  text-align: center;
}
.gallery h2 {
  margin-bottom: 2rem;
  font-size: 2rem;
  color: #222;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.gallery-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.gallery-grid img:hover {
  transform: scale(1.04);
  opacity: 0.95;
}

/* ===== SUPPORT CTA ===== */
.support {
  background: linear-gradient(135deg, #f4f1ec, #eae6df);
  text-align: center;
  padding: 6rem 1rem;
}
.support h2 {
  color: #222;
  margin-bottom: 1rem;
}
.support p {
  max-width: 680px;
  margin: 0 auto 2rem;
  color: #444;
  font-size: 1.1rem;
  line-height: 1.6;
}
.btn-primary {
  background: #8a6f4d;
  color: #fff;
  padding: 0.9rem 2rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.3s ease, transform 0.3s ease;
}
.btn-primary:hover {
  background: #6f563c;
  transform: scale(1.03);
}


/* ===== TEAM SEITE ===== */
.team-section {
  background: #fafafa;
  padding: 5rem 1rem;
  text-align: center;
}
.team-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
}
.team-member img {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
}
.team-member h3 {
  margin-bottom: 0.3rem;
}
.team-member p {
  font-size: 0.95rem;
  color: #555;
}


/* =========================
   FOOTER
========================= */

footer.footer {
  background: #f5f3ef;              /* helles, warmes Naturbeige */
  color: #222;
  padding: 3rem 1rem 2rem;
  font-size: 0.95rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.footer-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
}

.footer-left p {
  margin: 0.3rem 0;
  color: #333;
}

.footer-title {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.4rem;
  color: #000;
}

.footer-right {
  text-align: right;
}

.footer-links a {
  color: #8a6f4d;
  text-decoration: none;
  margin: 0 0.3rem;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: #000;
  text-decoration: underline;
}

.footer-logo {
  height: 46px;
  width: auto;
  margin-top: 0.6rem;
  opacity: 0.85;
  transition: opacity 0.3s ease;
}

.footer-logo:hover {
  opacity: 1;
}

.footer-bottom {
  text-align: center;
  margin-top: 2rem;
  font-size: 0.85rem;
  color: #555;
}

/* MOBILE */
@media (max-width: 820px) {
  .footer-wrapper {
    flex-direction: column;
    text-align: center;
    gap: 1.2rem;
  }

  .footer-right {
    text-align: center;
  }

  .footer-logo {
    height: 40px;
    margin: 0.4rem auto 0;
  }
}





/* --- MOBILE NAV FIX (LOCKED) --- */
.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:6px;width:44px;height:44px;border:none;border-radius:50%;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  position:fixed;top:1rem;right:1rem;cursor:pointer;
  transition:background .25s ease;z-index:999999!important;
}
.nav-toggle span{display:block;width:22px;height:3px;border-radius:2px;background:#fff;transition:all .3s ease;}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.nav-toggle:hover{background:rgba(0,0,0,.85);}
@media (max-width:820px){
  .nav-desktop{display:none;}
  .nav-overlay{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;
    justify-content:center;align-items:center;gap:2rem;background:rgba(15,15,15,.97);
    transform:translateY(-100%);opacity:0;transition:transform .4s ease,opacity .4s ease;}
  .nav-overlay.active{transform:translateY(0);opacity:1;}
  .nav-overlay a{color:#fff;text-decoration:none;font-weight:600;font-size:1.35rem;}
  .nav-overlay a:hover{color:#e0c48f;}
  body.menu-open{overflow:hidden;}
}
/* --- END MOBILE NAV FIX (LOCKED) --- */

/* --- FINALE MOBILE NOTIZ FIX (LOCKED) --- */
@media (max-width:820px){
  .hero{display:block!important;}
  .hero__content{text-align:center;margin-bottom:1rem;}
  .hero__notice{
    position:relative!important;display:block!important;
    margin:1.5rem auto 0 auto!important;text-align:center!important;
    background:rgba(255,255,255,0.25)!important;
    max-width:90%!important;
  }
}
/* --- END FINALE MOBILE NOTIZ FIX (LOCKED) --- */

@media (min-width:821px){.nav-toggle{display:none!important;}}
body.menu-open .header{opacity:0;pointer-events:none;}

/* === HERO-LOGO DIMMEN BEIM SCROLLEN === */
.hero__logo {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.header.is-shrink + .hero .hero__logo {
  opacity: 0.7;
  transform: scale(0.95);
}

/* === MOBILE: NOTIZ ZENTRIERT === */
@media (max-width: 820px) {
  .hero__notice {
    position: relative !important;
    display: block !important;
    margin: 1.5rem auto 0 auto !important;
    text-align: center !important;
    background: rgba(255, 255, 255, 0.25) !important;
    max-width: 90% !important;
  }
}
/* === HERO-LOGO: weich dimmen & leicht verkleinern, wenn Header schrumpft === */
.hero__logo {
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.header.is-shrink ~ .hero .hero__logo {
  opacity: 0.72;
  transform: scale(0.96);
}
/* === MOBILE: Notiz zentriert unter den CTAs === */
@media (max-width: 820px) {
  .hero__notice {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    display: block !important;
    margin: 1.5rem auto 0 !important;
    max-width: 90% !important;
    text-align: center !important;
    background: rgba(255, 255, 255, 0.25) !important;
  }
}

/* === NAVIGATION MODERN CLEAN === */
.nav-desktop a {
  position: relative;
  color: #111;
  text-decoration: none !important; /* alte Unterstreichung sicher deaktivieren */
  font-weight: 500;
  transition: color 0.25s ease;
}

/* feine goldene Linie fährt beim Hover ein */
.nav-desktop a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 2px;
  background: #8a6f4d; /* Goldton */
  transition: width 0.3s ease;
}

.nav-desktop a:hover {
  color: #8a6f4d;
  text-decoration: none !important;
}

.nav-desktop a:hover::after {
  width: 100%;
}

/* ===== RECHTSTEXTE ===== */
.legal-section {
  padding: 6rem 1rem;
  background: #fafafa;
  color: #333;
}
.legal-section .wrapper {
  max-width: 800px;
  margin: 0 auto;
}
.legal-section h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: #111;
}
.legal-section p {
  margin-bottom: 1rem;
  line-height: 1.6;
}
.legal-section a {
  color: #8a6f4d;
  text-decoration: none;
}
.legal-section a:hover {
  text-decoration: underline;
}

/* ===== BACKLINK FÜR IMPRESSUM / DATENSCHUTZ ===== */
.backlink {
  text-align: center;
  margin-top: 2rem;
}

.backlink a {
  color: #8a6f4d;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.backlink a:hover {
  text-decoration: underline;
  color: #000;
}

/* =========================
   ZURÜCK-BUTTON (Impressum / Datenschutz)
========================= */

.btn-back {
  display: inline-block;
  background: #eae6df;           /* heller Naturton */
  color: #222;
  padding: 0.8rem 1.8rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.btn-back:hover {
  background: #d6cfc4;           /* etwas dunkler beim Hover */
  transform: translateY(-2px);
  color: #000;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

.backlink {
  text-align: center;
  margin-top: 3rem;
}

/* =========================
   SCROLL TO TOP BUTTON
========================= */
#scrollTopBtn {
  position: fixed;
  bottom: 2rem;
  right: 1.5rem;
  background: #8a6f4d;            /* Markenfarbton (hellbraun) */
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 3px 8px rgba(0,0,0,0.2);
  z-index: 200;
}

#scrollTopBtn.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#scrollTopBtn:hover {
  background: #6f563c;
  transform: scale(1.1);
}

/* =====================================
   BASIC LAYOUT OPTIMIERUNGEN
===================================== */
html, body {
  scroll-behavior: smooth;
}

section {
  padding: 5rem 1rem;
}

.wrapper {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}

/* =====================================
   TYPOGRAFIE
===================================== */
h1, h2, h3 {
  font-family: 'Inter', sans-serif;
  color: #222;
  margin-bottom: 1rem;
}

h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
}

h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 600;
}

p {
  color: #333;
  line-height: 1.7;
  margin-bottom: 1rem;
  font-size: 1.05rem;
}

/* =====================================
   HERO SECTION
===================================== */
.hero {
  position: relative;
  height: 85vh;
  background: url('../images/SimSam_Titel_01.jpg') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 720px;
  padding: 0 1rem;
}

.hero-logo {
  width: clamp(240px, 30vw, 420px);
  opacity: 1;
  transition: opacity 0.6s ease;
}

.is-shrink .hero-logo {
  opacity: 0.2;
}

.hero h1 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 700;
  margin: 1rem 0 0.5rem;
}

.hero p {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.hero-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* =====================================
   BUTTON STYLES
===================================== */
.btn-primary,
.btn-secondary {
  display: inline-block;
  padding: 0.9rem 2rem;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-primary {
  background: #8a6f4d;
  color: #fff;
}

.btn-primary:hover {
  background: #6f563c;
  transform: scale(1.03);
}

.btn-secondary {
  background: #fff;
  color: #222;
}

.btn-secondary:hover {
  background: #e6e6e6;
  transform: scale(1.03);
}

/* =====================================
   WIR SECTION
===================================== */
.about {
  background: #f8f6f3;
}

.about h2 {
  margin-bottom: 1.5rem;
}

.about p {
  margin-bottom: 1rem;
  text-align: justify;
}

/* =====================================
   TOUREN SECTION
===================================== */
.tours {
  background: #fff;
}

.tour-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.tour-card {
  background: #fafafa;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.08);
}

.tour-card h3 {
  margin-bottom: 0.8rem;
  color: #222;
}

/* =====================================
   SUPPORT / MITGLIED WERDEN
===================================== */
.support {
  background: #f8f6f3;
  padding: 6rem 1rem;
}

.support h2 {
  margin-bottom: 1rem;
  font-size: 2rem;
  color: #222;
}

.support p {
  font-size: 1.15rem;
  max-width: 680px;
  margin: 0 auto 2rem;
  color: #444;
}

/* =====================================
   FOOTER
===================================== */
footer {
  background: #f2f2f2;
  padding: 2rem 1rem;
  font-size: 0.95rem;
}

.footer-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.footer-left p {
  margin: 0;
  color: #333;
  line-height: 1.6;
}

.footer-left a {
  color: #8a6f4d;
  text-decoration: none;
}

.footer-left a:hover {
  text-decoration: underline;
}

.footer-right {
  text-align: right;
}

.footer-right a {
  color: #8a6f4d;
  text-decoration: none;
}

.footer-right a:hover {
  text-decoration: underline;
}

.footer-logo {
  height: 48px;
  margin-top: 0.5rem;
  opacity: 0.85;
}

/* =====================================
   RESPONSIVE
===================================== */
@media (max-width: 820px) {
  .hero {
    height: 70vh;
  }

  .hero-logo {
    width: 75%;
  }

  .footer-wrapper {
    flex-direction: column;
    text-align: center;
  }

  .footer-right {
    text-align: center;
  }
}


