﻿:root{
  color-scheme: light;
  --bg:#f4f8f1;
  --surface:#ffffff;
  --surface-alt:#edf4ee;
  --text:#1b2a21;
  --muted:#5f7265;
  --accent:#4aa96c;
  --accent-dark:#2a6f45;
  --accent-soft:#d7efe0;
  --border:#d9e6dd;
  --shadow:0 24px 60px rgba(20,40,28,.12);
  --shadow-soft:0 12px 30px rgba(20,40,28,.08);
  --radius:16px;
  --max-width:1200px;
  --container-pad:1.25rem;
  --logo-width:190px;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;color:var(--text);background:var(--bg);line-height:1.6;font-weight:400}
h1,h2,h3,h4,h5,h6{font-weight:600}
strong{font-weight:600}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--container-pad)}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:linear-gradient(140deg, rgba(255,255,255,.9), rgba(240,248,241,.88));
  border-bottom:1px solid rgba(70,110,85,.18);
  box-shadow:0 10px 24px rgba(20,40,28,.08);
}
.header-shell{
  position:relative;
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(231,243,236,.9));
  backdrop-filter:blur(12px) saturate(1.1);
}
.header-shell::before{
  content:'';
  position:absolute;
  inset:0;
  background:url("../../docs/Bilder/Hero%20Section/Neu%20header-bg.png") center/cover no-repeat;
  opacity:.5;
  z-index:0;
  pointer-events:none;
}
.header-shell::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1100px 120px at 15% 0%, rgba(255,255,255,.18), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 50%);
  opacity:.5;
  z-index:1;
}

.header-shell > *{
  position:relative;
  z-index:2;
}

/* =========================
   HEADER LAYOUT (FIX)
   ========================= */

.header-top{
  display:flex;
  align-items:stretch;
  justify-content:flex-end; /* highlights nach rechts */
  gap:2rem;
  padding:.45rem 0;
  position:relative;
  z-index:1;
}

/* Overlay über beide Zeilen */
.header-brand{
  position:absolute;
  inset:0;
  display:flex;
  align-items:stretch;
  justify-content:flex-start;   /* <-- HART links */
  pointer-events:none;
  z-index:5;
}

/* Dein HTML: <div class="container header-brand__inner"> */
.header-brand__inner{
  height:100%;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;  /* <-- HART links */
  pointer-events:none;
}

/* nur der Link klickbar */
.header-brand__inner .brand{
  pointer-events:auto;
}

/* Content muss Platz für Logo lassen */
.header-top,
.header-nav{
  padding-left:calc(var(--container-pad) + var(--logo-width));
  padding-right:var(--container-pad);
}

/* Header-Logo: strikt shrink-to-content */
.site-header .brand{
  display:inline-flex;
  align-items:center;
  height:100%;
  text-decoration:none;

  width:fit-content;
  flex:0 0 auto;
  margin-right:auto;          /* <-- zwingt nach links */

  padding:0 .75rem;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(170,200,180,.55);
  box-shadow:0 10px 22px rgba(20,40,28,.1);
  backdrop-filter:blur(8px);
}

.site-header .brand-logo{
  height:100%;
  max-height:none;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 6px 10px rgba(20,40,28,.15));
}

.header-highlights{
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-left:auto;              /* <-- block nach rechts */
  text-align:right;
}

.highlight-item{
  display:flex;
  align-items:center;
  gap:.85rem;
  color:var(--text);
  text-shadow:none;
}
.highlight-item img{
  width:36px;
  height:36px;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(20,40,28,.12));
}
.highlight-item span{
  display:block;
  font-size:.9rem;
  color:var(--muted);
  letter-spacing:.01em;
}
.highlight-item strong{
  display:block;
  font-size:1rem;
  font-weight:600;
}

.header-divider{
  height:1px;
  background:linear-gradient(90deg, rgba(70,110,85,.08), rgba(70,110,85,.2), rgba(70,110,85,.08));
  opacity:.6;
}
.header-nav{
  position:relative;
  z-index:1;
  padding:.2rem 0 .45rem;
  display:flex;
  justify-content:flex-end;
}

.main-nav{display:flex;align-items:center;gap:1rem}
.nav-list{
  display:flex;
  align-items:center;
  gap:1rem;
  list-style:none;
  margin:0;
  padding:.2rem 0;
}
.nav-list li:not(:last-child){
  padding-right:1rem;
  border-right:1px solid rgba(50,80,60,.18);
}
.nav-list a{
  text-decoration:none;
  color:rgba(27,42,33,.9);
  font-weight:600;
  position:relative;
  padding:.35rem 0;
  letter-spacing:.02em;
  transition:color .2s ease,transform .2s ease;
}
.nav-list a:hover,.nav-list a:focus{
  color:var(--accent-dark);
  transform:translateY(-1px);
}
.nav-list a[aria-current="page"]{
  color:var(--accent-dark);
}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 120px 240px;
  margin: 4px 16px 4px 16px;
  border-radius:999px;
  background:linear-gradient(180deg, #6fc387 0%, #4aa96c 100%);
  color:#fff;
  border:1px solid rgba(70,120,90,.25);
  box-shadow:0 8px 18px rgba(20,40,28,.18);
  font-weight:400;
}
.nav-cta:hover,.nav-cta:focus{
  color:#fff;
  transform:translateY(-1px);
}
.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  background:rgba(255,255,255,.7);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:12px;
  padding:0;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(20,40,28,.12);
}
.nav-toggle__icon{
  position:relative;
  display:block;
  width:22px;
  height:2px;
  background:var(--text);
  border-radius:999px;
}
.nav-toggle__icon::before,
.nav-toggle__icon::after{
  content:'';
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:var(--text);
  border-radius:999px;
}
.nav-toggle__icon::before{top:-7px}
.nav-toggle__icon::after{top:7px}
.nav-scrim{
  position:fixed;
  inset:0;
  background:rgba(20,40,28,.3);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  z-index:90;
}
.nav-scrim.is-visible{
  opacity:1;
  pointer-events:auto;
}
body.nav-open{
  overflow:hidden;
}

main section{padding:3.5rem 0}
.services{margin-top:0;padding-bottom:2.5rem}


.hero{
  position:relative;
  overflow:hidden;
  padding:4.5rem 0;
  min-height:55vh;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#eff6f0 0%,#e6f0e8 55%,#dce9df 100%);
}
.hero-bg{
  position:absolute;
  inset:0;
  background-image:url("../../docs/Bilder/Hero Section/hero.jpg");
  background-size:cover;
  background-position:center 40%;
  filter:saturate(1.05) contrast(1.04);
}
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(244,250,245,.78) 0%,rgba(232,242,235,.62) 40%,rgba(220,234,225,.72) 100%),
    radial-gradient(900px 520px at 20% 30%, rgba(120,190,145,.25), rgba(255,255,255,0) 65%);
  z-index:0;
}
.hero-content{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
}
.hero-intro{
  padding:2.5rem 0 1.5rem;
}
.hero-intro .hero-card{
  margin:0 auto;
}
.hero-card{
  max-width:560px;
  background:linear-gradient(140deg,rgba(255,255,255,.92) 0%,rgba(236,246,239,.88) 45%,rgba(228,241,232,.9) 100%);
  border-radius:32px;
  padding:2.6rem 2.5rem;
  box-shadow:0 30px 70px rgba(20,40,28,.18);
  border:1px solid rgba(130,170,145,.25);
  backdrop-filter:blur(6px);
}
.hero-eyebrow{
  margin:0 0 .6rem;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-dark);
  font-weight:600;
}
.hero-card h1{
  font-size:clamp(2.3rem,3.2vw,3.5rem);
  line-height:1.12;
  margin:0 0 1rem;
}
.hero-card p{
  margin:0 0 1.8rem;
  color:var(--text);
  font-size:1.05rem;
  font-weight:500;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}
@keyframes slideshow-pop{
  0%{transform:scale(1.02)}
  100%{transform:scale(1)}
}

.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}
.section-title h2{font-size:clamp(1.8rem,2.3vw,2.4rem);margin:0;position:relative}
.section-title h2::after{
  content:'';
  display:block;
  width:64px;
  height:3px;
  margin-top:.65rem;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),rgba(63,168,106,.2));
}
.section-title p{margin:0;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.4rem;border-radius:999px;text-decoration:none;background:var(--surface-alt);color:var(--text);border:1px solid var(--border);font-weight:600;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.12)}
.btn.primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(20,40,28,.15)}
.btn.ghost{background:transparent;border:1px solid var(--border)}

.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}
.service-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--border);transition:transform .25s ease,box-shadow .25s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.service-card img{filter:saturate(1.05)}
.service-card img{width:100%;height:190px;object-fit:cover}
.service-card .card-body{padding:1.35rem}
.service-card h3{margin:.2rem 0 .5rem}
.service-card p{margin:0;color:var(--muted)}

.process{background:var(--surface-alt)}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.process-card{background:var(--surface);border-radius:20px;padding:1.6rem;box-shadow:var(--shadow-soft);border:1px solid var(--border);display:grid;gap:.9rem}
.process-card span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff;font-weight:700}
.process-card h3{margin:0}
.process-card p{margin:0;color:var(--muted)}

@media (max-width: 1024px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 720px){
  .services-grid{grid-template-columns:1fr;gap:1.4rem}
  .service-card img{height:170px}
}

.services-carousel{--radius:300px;--count:4;display:grid;gap:1.2rem;place-items:center;margin:1.6rem 0 2.8rem}
.carousel-viewport{position:relative;width:100%;height:340px;perspective:1000px;display:flex;align-items:center;justify-content:center;outline:none;cursor:grab;touch-action:pan-y}
.carousel-viewport:active{cursor:grabbing}
.carousel-track{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.carousel-card{position:absolute;top:50%;left:50%;width:min(260px,68vw);transform-style:preserve-3d;transform:translate(-50%,-50%) rotateY(calc(var(--i) * (360deg / var(--count)))) translateZ(var(--radius))}
.carousel-card .card-inner{background:var(--surface);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .5s ease,opacity .5s ease,box-shadow .5s ease;opacity:.25;transform:scale(.8)}
.carousel-card.is-near .card-inner{opacity:.7;transform:scale(.92)}
.carousel-card.is-front-secondary .card-inner{opacity:.95;transform:scale(.98);box-shadow:var(--shadow)}
.carousel-card.is-front .card-inner{opacity:1;transform:scale(1.02);box-shadow:var(--shadow)}
.carousel-card img{width:100%;height:150px;object-fit:cover}
.carousel-card .card-body{padding:1.3rem}
.carousel-card h3{margin:.2rem 0 .5rem}
.carousel-card p{margin:0;color:var(--muted)}
.carousel-controls{display:flex;gap:.8rem;justify-content:center}
.carousel-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);cursor:pointer;font-size:1.4rem;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease}
.carousel-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.carousel-hint{margin:0;text-align:center;color:var(--muted);font-size:.95rem}
.carousel-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:24px}

@media (max-width: 720px){
  .carousel-viewport{height:300px;perspective:800px}
  .services-carousel{--radius:240px}
  .carousel-card img{height:140px}
}

.references{background:var(--surface-alt)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.gallery-card{position:relative;text-decoration:none;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);color:#fff}
.gallery-card img{width:100%;height:240px;object-fit:cover;transform:scale(1);transition:transform .3s ease}
.gallery-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55))}
.gallery-card:hover img{transform:scale(1.05)}
.gallery-card .caption{position:absolute;left:1rem;bottom:1rem;font-weight:600;z-index:1}

.why-us{background:var(--surface);overflow:hidden}
.why-us-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.why-us-text h2{margin-top:0}
.why-us-text p{color:var(--muted)}
.why-us-list{margin:1.2rem 0 0;padding:0;list-style:none;display:grid;gap:.6rem}
.why-us-list li{background:var(--surface-alt);padding:.7rem 1rem;border-radius:12px;box-shadow:var(--shadow-soft);font-weight:600}
.why-us-media{margin:0;display:flex;justify-content:flex-end;align-items:stretch;overflow:hidden;border-radius:24px;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--surface)}
.why-us-media-inner{width:100%;height:120%;transform-origin:center;will-change:transform}
.why-us-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

.slideshow-section{background:var(--surface)}
.slideshow{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--surface-alt);aspect-ratio:16/9;width:100%;max-height:70vh}
.slideshow::before{
  content:'';
  position:absolute;
  inset:-6%;
  background:var(--slide-bg, #e9efe6);
  background-size:cover;
  background-position:center;
  filter:blur(24px) saturate(1.05) brightness(1.08);
  transform:scale(1.04);
  opacity:1;
  z-index:0;
}
.slideshow::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(0,0,0,.12));opacity:.18;z-index:1}
.slideshow a{display:flex;align-items:center;justify-content:center;min-height:100%;background:transparent;position:relative;z-index:2}
.slideshow img{width:100%;height:100%;max-height:70vh;object-fit:contain;transition:opacity .6s ease,filter .6s ease}
.slideshow img.is-fading{opacity:.35;filter:blur(2px)}
.slideshow img.is-zooming{animation:slideshow-pop .9s ease}
.slideshow-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;pointer-events:none;z-index:3}
.slideshow-btn{pointer-events:auto;width:44px;height:44px;border-radius:50%;border:0;background:rgba(32,60,45,.55);color:#fff;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}
.slideshow-btn:hover{background:rgba(32,60,45,.75);transform:scale(1.05)}
.slideshow-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.slideshow-indicator{position:absolute;right:1rem;bottom:1rem;background:rgba(32,60,45,.55);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.85rem;letter-spacing:.01em}
.slideshow-hint{margin-top:1rem;color:var(--muted)}

.about{padding-top:2.5rem}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.about-grid > div:first-child{background:var(--surface);border-radius:20px;padding:2rem;box-shadow:var(--shadow-soft);border:1px solid var(--border)}
.about-list{display:grid;gap:.8rem;margin-top:1.5rem;padding:0;list-style:none}
.about-list li{background:var(--surface);padding:.9rem 1rem;border-radius:14px;box-shadow:0 10px 22px rgba(25,40,32,.08);display:flex;align-items:flex-start;gap:.6rem}
.about-list li::before{content:'✓';color:var(--accent);font-weight:700}
.about-map{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);min-height:320px;background:var(--surface-alt);display:flex}
.about-map iframe{width:100%;height:100%;min-height:320px;border:0;display:block;flex:1}
.map-consent{display:flex;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem;flex:1}
.map-consent h3{margin-top:0}
.map-note{color:var(--muted);font-size:.9rem;margin:1rem 0 0}

.cta{
  background:url("../../docs/Bilder/Galabau-Leistungen/3.png");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 35%;
  margin-top:2.5rem;
  position:relative;
  isolation:isolate;
  color:#fff;
  border-radius:28px;
  padding:3rem;
  display:grid;
  gap:1rem;
  box-shadow:var(--shadow)
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(30,55,40,.65),rgba(30,55,40,.25));
  border-radius:inherit;
  z-index:-1;
}
.cta-actions{display:flex;flex-wrap:wrap;gap:1rem}
.cta .btn{background:var(--accent);color:#fff;border:1px solid transparent}
.cta .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}

.page-hero{padding:4rem 0 3rem;background:linear-gradient(135deg,#eef6f0,#e3efe7)}
.page-hero .container{display:grid;gap:1rem}
.page-hero p{color:var(--muted);max-width:600px}
.page-hero .page-actions{display:flex;flex-wrap:wrap;gap:.8rem}

.gallery-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;margin:1.5rem 0 0}
.gallery-note{margin:0;color:var(--muted)}

.legal-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:start}
.legal-stack{display:grid;gap:1.5rem}
.legal-section{background:var(--surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid var(--border)}
.legal-section h2{margin-top:0}
.legal-section p{margin:0 0 .75rem}
.legal-section p:last-child{margin-bottom:0}
.legal-credit .credit-content{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}
.legal-credit .credit-logo{max-width:220px;flex:0 1 220px}
.legal-credit svg{width:100%;height:auto;display:block}
.legal-list{margin:0;padding-left:1.2rem;display:grid;gap:.5rem}
.legal-aside{background:var(--surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid var(--border)}
.legal-aside h2{margin-top:0}
.legal-note{margin-top:1rem;background:var(--accent-soft);border-radius:12px;padding:.9rem;color:var(--accent-dark)}

.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start;margin-top:1.5rem}
.contact-form{display:grid;gap:1rem;background:var(--surface);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.contact-form label{display:grid;gap:.4rem;font-weight:600}
.contact-form input,.contact-form textarea{border-radius:12px;border:1px solid var(--border);padding:.75rem;font:inherit;background:#f9fbf8}
.contact-form .contact-checkbox{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;line-height:1.4}
.contact-form .contact-checkbox input{margin-top:.2rem}
.contact-form .contact-checkbox .checkbox-text{display:block}
.contact-form .form-note{font-size:.9rem;color:var(--muted);margin:0}
.contact-form .form-result{font-weight:600;margin:0;min-height:1.2em}
.contact-info{background:var(--surface);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.contact-cards{display:grid;gap:1rem;margin:1.2rem 0}
.contact-card{background:var(--surface-alt);border-radius:16px;padding:1rem;border:1px solid var(--border);box-shadow:0 10px 24px rgba(25,40,32,.08)}
.contact-card span{display:block;font-weight:600;margin-bottom:.3rem}
.contact-card a{text-decoration:none;color:var(--accent);font-weight:600}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.gitem{margin:0;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:4/3}
.gitem figcaption{display:none}
.gitem a{display:block;height:100%}
.gitem img{width:100%;height:100%;object-fit:cover}

.site-footer{border-top:1px solid var(--border);padding:3rem 0;background:var(--surface);margin-top:2rem}
.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.footer-logo{height:150px;margin-bottom:.6rem}
.footer-logo-main{height:150px}
.footer-left p,.footer-right p{margin:0;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.75rem}
.footer-links a{text-decoration:none;color:var(--muted);font-weight:600}
.footer-links a:hover,.footer-links a:focus{color:var(--text)}

.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9999;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1.25rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.cookie-text{flex:1 1 260px}
.cookie-text p{margin:.35rem 0 0;color:var(--muted)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.6rem}

.text-center{text-align:center}

.btn:focus-visible,
.nav-list a:focus-visible,
.gallery-card:focus-visible,
.contact-card a:focus-visible,
.slideshow-btn:focus-visible,
.carousel-btn:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
  border-radius:999px;
}

.slideshow-btn:focus-visible{
  border-radius:50%;
}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:9999}
.lightbox-inner{max-width:90%;max-height:90%;text-align:center}
.lightbox-inner img{max-width:100%;max-height:80vh;border-radius:12px}
.lightbox .close{margin-top:.6rem;background:var(--surface);color:var(--text);border:0;padding:.4rem .6rem;border-radius:6px;cursor:pointer}
.lightbox .caption{color:#fff;margin-top:.5rem}

@media (max-width:1000px){
  .hero-card{max-width:100%}
  .why-us-inner{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .legal-layout{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr}
  .about{padding:3.5rem 2rem;margin:2rem auto}
}

/* =========================
   ROBUST MOBILE HEADER (FIXED STACKING)
   ========================= */
@media (max-width: 700px) {

  /* 1. Container: Nimmt den Platz ein, den er braucht */
  .header-top {
    display: flex !important;
    flex-direction: column !important; /* Stapelt Logo oben, Icons unten */
    align-items: center;
    padding: 1rem var(--container-pad);
    background: #fff;
    position: relative;
    height: auto !important; /* Verhindert das Übereinanderschieben */
  }

  /* 2. Logo & Burger Reihe */
  .header-brand {
    width: 100%;
    display: flex;
    justify-content: flex-start; /* Logo links */
    align-items: center;
    margin-bottom: 1rem;
    position: relative;
  }

  .site-header .brand-logo {
    height: 70px !important; /* Angemessene Größe */
    max-height: 70px;
    width: auto;
  }

  /* Burger Icon fixieren */
  .header-nav {
    position: static !important; /* Raus aus dem Absolute-Chaos */
    padding: 0 0 0.8rem;
    justify-content: center;
  }

  .nav-toggle {
    display: none;
  }

  /* 3. Icons (Highlights): Eine saubere Reihe darunter */
  .header-highlights {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around;
    gap: 8px;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(0,0,0,0.06);
    overflow: visible; /* Nichts abschneiden */
  }

  .highlight-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 5px;
  }

  .highlight-item img {
    height: 28px !important;
    width: auto !important;
  }

  .highlight-item span {
    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--text);
    white-space: normal; /* Erlaubt Zeilenumbruch bei "&" */
  }

  /* 4. Nav-Menu (Drawer) Fix */
  .nav-list {
    position: static;
    width: 100%;
    height: auto;
    transform: none;
    transition: none;
    justify-content: center;
    flex-wrap: wrap;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }

  .nav-list.is-open {
    transform: none;
  }

  .nav-list li:not(:last-child) {
    border-right: 0;
    padding-right: 0;
  }

  /* 5. Hero-Bereich (Bild) nach unten schieben */
  .hero {
    margin-top: 0; 
    padding: 2rem 0;
  }

  .hero-card {
    margin: 0 1rem;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  }
}

/* Spezial-Fix für sehr kleine Bildschirme */
@media (max-width: 450px) {
  .site-header .brand-logo {
    height: 55px !important;
  }
  
  .highlight-item span {
    font-size: 9px;
  }
}
