:root{
  --brand-gold: #7A8451;      /* Flyer-Olive */
  --brand-brown: #4F5640;     /* dunkles Olive für Text/Navi */
  --brand-cream: #EEECDD;     /* papierartiger Hintergrund */
  --brand-muted: #6B705C;     /* ruhiger Fließtext */
  --brand-card: rgba(247,245,236,.94);
  --brand-shadow: 0 10px 30px rgba(79,86,64,.10);
  --nav-height: 76px;

  --font-body: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-heading: 'Marcellus', serif;
}

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  background:
    radial-gradient(circle at top left, rgba(184,190,163,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(122,132,81,.10), transparent 28%),
    var(--brand-cream);
  color: var(--brand-brown);
}

a{ color: var(--brand-cream); }
a:hover{ color:#ffffff; }

.text-muted-brand{ color: var(--brand-muted) !important; }

/* Navbar */
.navbar{
  backdrop-filter: blur(10px);
  background: rgba(238,236,221,.90);
  border-bottom: 1px solid rgba(79,86,64,.10);
}
.navbar .nav-link{
  color: var(--brand-brown);
  font-weight: 600;
  opacity: .88;
}
.navbar .nav-link:hover{ opacity:1; }
.navbar .nav-link.active{ color: var(--brand-gold); }

.navbar-brand{
  color: var(--brand-brown);
}

/* Buttons */
.btn-brand{
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color:#fff;
  font-weight: 800;
}
.btn-brand:hover{
  background:#657042;
  border-color:#657042;
  color:#fff;
}
.btn-outline-brand{
  border-color: var(--brand-gold);
  color: var(--brand-brown);
  font-weight: 800;
}
.btn-outline-brand:hover{
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color:#fff;
}

/* Layout helpers */
section{ scroll-margin-top: calc(var(--nav-height) + 18px); }
.section-title{
  font-family: var(--font-heading);
  letter-spacing:.2px;
  color: var(--brand-brown);
}

/* Cards */
.soft-card{
  background: var(--brand-card);
  border: 1px solid rgba(79,86,64,.08);
  box-shadow: var(--brand-shadow);
  border-radius: 1.25rem;
}

/* Parallax */
.parallax{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.parallax::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(79,86,64,.72), rgba(122,132,81,.28));
}
.parallax > .container{
  position: relative;
  z-index: 1;
}
@media (min-width: 992px){
  .parallax{ background-attachment: fixed; }
}

/* Hero */
.hero{
  min-height: 78vh;
  display:flex;
  align-items:center;
  padding-top: calc(var(--nav-height) + 24px);
  padding-bottom: 48px;
}
.hero h1{
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: .3px;
}
.hero .badge{
  background: rgba(247,245,236,.16);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-weight: 800;
}

.parallax-slim{ padding: 280px 0; }
.parallax-slim::before{
  background: linear-gradient(180deg, rgba(79,86,64,.62), rgba(122,132,81,.24));
}

/* Price table */
.price-table td, .price-table th{
  vertical-align: middle;
  padding: 14px 12px;
}
.price-table thead th{
  color: var(--brand-brown);
  border-bottom-color: rgba(79,86,64,.15);
}
.price-table tbody tr{
  border-color: rgba(79,86,64,.08);
}

/* Accordion / Legal */
.accordion-button{
  background: rgba(247,245,236,.88);
  color: var(--brand-brown);
  box-shadow: none !important;
}
.accordion-button:not(.collapsed){
  background: rgba(184,190,163,.20);
  color: var(--brand-brown);
}
.accordion-item{
  background: transparent;
}
.accordion-body{
  color: var(--brand-muted);
}

/* Footer */
footer{
  border-top: 1px solid rgba(79,86,64,.10);
  background: rgba(247,245,236,.55);
}

/* Typography */
h1, h2, h3, h4, h5, h6,
.section-title,
.navbar-brand span{
  font-family: var(--font-heading);
}

/* Cookie Banner */
.cookie-banner{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1090;
  background: rgba(247,245,236,.96);
  border-top: 1px solid rgba(79,86,64,.10);
}
.cookie-banner p{ line-height: 1.35; }
.cookie-banner a{ color: var(--brand-gold); font-weight: 700; }
.cookie-banner .btn{ border-radius: 999px; }

@supports (backdrop-filter: blur(10px)){
  .cookie-banner{
    background: rgba(238,236,221,.92);
    backdrop-filter: blur(10px);
  }
}

/* make sure banner doesn't cover content when opened via anchor */
body.cookie-banner-visible{
  padding-bottom: 120px;
}
@media (min-width: 992px){
  body.cookie-banner-visible{ padding-bottom: 92px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .parallax{ background-attachment: scroll !important; }
}