/* Partystadl Amadeus – statische Website 2026 */
:root{
  --bg:#080707; --panel:rgba(15,12,12,.82); --panel-2:rgba(25,17,16,.86);
  --text:#f5f3f1; --muted:#b9aca8; --line:rgba(255,255,255,.17);
  --accent:#e64032; --accent2:#ff8a1d; --max:1120px;
  --shadow:0 24px 60px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.site-bg{min-height:100vh;background:
  radial-gradient(circle at 17% 18%,rgba(224,45,48,.22),transparent 28%),
  radial-gradient(circle at 76% 9%,rgba(106,35,120,.22),transparent 24%),
  linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.55)),
  url('../images/layout/stadl-background.jpg') center/cover fixed no-repeat;position:relative}
.site-bg:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.06),rgba(0,0,0,.38) 70%,rgba(0,0,0,.72));z-index:0}
.page-shell{position:relative;z-index:1;min-height:100vh}
.site-header{padding:28px 20px 0}
.logo-wrap{display:block;width:240px;max-width:48vw;margin:0 auto 14px}.logo-wrap img{display:block;width:100%;height:auto;max-width:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.navbar{max-width:var(--max);margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(8,6,6,.54);backdrop-filter:blur(10px)}
.nav-inner{display:flex;align-items:center;justify-content:center;min-height:64px;padding:0 16px;position:relative}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:5px}
.nav-list>li{position:relative}.nav-link,.nav-button{display:flex;align-items:center;gap:7px;padding:20px 16px;border:0;background:none;color:#ddd;text-transform:uppercase;font-size:.84rem;letter-spacing:.065em;cursor:pointer;transition:.2s}
.nav-link:hover,.nav-link.active,.nav-button:hover{color:#fff;background:rgba(230,64,50,.14)}
.nav-link.active{color:#ff766c}.caret{font-size:.7em;opacity:.8}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(7px);min-width:190px;padding:8px;background:rgba(10,8,8,.97);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.18s;z-index:20}
.nav-list li:hover>.dropdown,.nav-list li:focus-within>.dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown a{display:block;padding:11px 13px;color:#d8cecb}.dropdown a:hover{background:rgba(230,64,50,.14);color:#fff}
.menu-toggle{display:none;border:1px solid var(--line);background:rgba(0,0,0,.35);color:#fff;border-radius:8px;padding:9px 12px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px 0}
main{max-width:var(--max);margin:auto;padding:60px 20px 80px}.home-main{padding-top:68px}
.eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.22em;color:#d3c7c3;font-size:.76rem;margin:0 0 6px}
h1,h2,h3{font-weight:300;letter-spacing:.045em;margin-top:0}.hero-title{text-align:center;font-size:clamp(1.75rem,3.2vw,2.65rem);text-transform:uppercase;margin:0 0 32px;text-shadow:0 3px 14px #000}
.section-title{text-transform:uppercase;font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:10px}.section-lead{max-width:720px;color:#d2c8c4;margin-top:0}
.content-panel{background:linear-gradient(145deg,rgba(20,15,14,.92),rgba(7,7,7,.88));border:1px solid var(--line);padding:clamp(24px,4vw,48px);box-shadow:var(--shadow);backdrop-filter:blur(8px)}
/* Flyer carousel */
.flyer-section{position:relative}.carousel-wrap{position:relative;max-width:920px;margin:0 auto;padding:0 54px}
.flyer-viewport{overflow:hidden;padding:12px 0 20px}.flyer-track{display:flex;align-items:center;gap:22px;transition:transform .65s cubic-bezier(.22,.74,.19,1);will-change:transform}
.flyer-card{flex:0 0 min(340px,70vw);transform:scale(.88);opacity:.52;filter:saturate(.72) brightness(.72);transition:.45s;cursor:pointer;position:relative}.flyer-card.active{transform:scale(1);opacity:1;filter:none;z-index:2}.flyer-card img{width:100%;aspect-ratio:1080/1350;object-fit:cover;box-shadow:0 18px 38px rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.14)}
.carousel-button{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.55);color:white;cursor:pointer;font-size:1.5rem;display:grid;place-items:center;transition:.2s}.carousel-button:hover{background:rgba(230,64,50,.7)}.carousel-button.prev{left:0}.carousel-button.next{right:0}
.dots{display:flex;justify-content:center;gap:8px;margin-top:8px}.dot{width:9px;height:9px;border-radius:50%;border:1px solid #ddd;background:transparent;padding:0;cursor:pointer}.dot.active{background:#fff}
.empty-state{text-align:center;color:var(--muted);padding:45px 20px;border:1px dashed rgba(255,255,255,.25);background:rgba(0,0,0,.3)}
/* Galleries */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.gallery-item{appearance:none;border:0;padding:0;background:#111;cursor:pointer;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.35)}.gallery-item img{width:100%;height:230px;object-fit:cover;transition:transform .35s,filter .35s}.gallery-item:hover img{transform:scale(1.035);filter:brightness(1.08)}
/* cards */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.info-card{padding:24px;border:1px solid var(--line);background:rgba(0,0,0,.3)}.info-card h2{font-size:1.25rem;text-transform:uppercase;margin-bottom:10px}.info-card p{color:#d1c6c2}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.38);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;transition:.2s}.btn:hover{background:var(--accent);border-color:var(--accent)}.btn.primary{background:linear-gradient(135deg,#d83831,#ef7025);border-color:transparent}
.legal h2{font-size:1.2rem;margin-top:30px;margin-bottom:6px}.legal p,.legal li{color:#d8cfcc}.legal a{text-decoration:underline;text-underline-offset:3px}
.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);background:rgba(0,0,0,.68);padding:28px 20px;color:#aaa;text-align:center;font-size:.82rem}.site-footer a:hover{color:#fff}.footer-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:6px}
/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:88vw;object-fit:contain;box-shadow:0 12px 50px #000}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.lightbox-close{top:20px;right:24px;width:46px;height:46px;border-radius:50%;font-size:1.7rem}.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:58px;font-size:1.8rem}.lightbox-nav.prev{left:18px}.lightbox-nav.next{right:18px}
@media(max-width:760px){
  .site-bg{background-attachment:scroll;background-position:center top}.site-header{padding:18px 12px 0}.logo-wrap{width:205px;max-width:58vw;margin-bottom:10px}
  .nav-inner{justify-content:flex-end;min-height:54px}.menu-toggle{display:block}.nav-list{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:rgba(8,6,6,.98);border-top:1px solid var(--line);z-index:30;padding:8px}.nav-list.open{display:flex}.nav-list>li{width:100%}.nav-link,.nav-button{width:100%;padding:13px 14px;justify-content:space-between}.dropdown{position:static;transform:none!important;min-width:0;display:none;opacity:1;visibility:visible;border:0;border-left:2px solid rgba(230,64,50,.5);box-shadow:none;margin:0 10px 8px;padding:2px 8px;background:rgba(255,255,255,.025)}.nav-list li.open>.dropdown{display:block}
  main{padding:38px 15px 60px}.home-main{padding-top:42px}.hero-title{margin-bottom:22px}
  .carousel-wrap{padding:0 30px}.flyer-track{gap:14px}.flyer-card{flex-basis:min(300px,76vw)}.carousel-button{width:36px;height:36px;font-size:1.2rem}.carousel-button.prev{left:-2px}.carousel-button.next{right:-2px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item img{height:170px}.info-grid{grid-template-columns:1fr}.content-panel{padding:24px 18px}.lightbox-nav{width:40px}.lightbox img{max-width:94vw}
}
@media(max-width:430px){.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:230px}.carousel-wrap{padding:0 22px}.flyer-card{flex-basis:78vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.flyer-track,.flyer-card,.gallery-item img{transition:none!important}}

/* V7 – Mobile Feinschliff: Menü immer im Vordergrund, Flyer ohne seitliche Fremdränder */
.site-header{position:relative;z-index:1000}
.navbar{position:relative;z-index:1001}

@media(max-width:760px){
  .site-header{z-index:5000}
  .navbar{z-index:5001}
  .nav-inner{z-index:5002}
  .menu-toggle{position:relative;z-index:5004}
  .nav-list{
    z-index:5003;
    background:rgba(7,5,5,.995);
    border:1px solid rgba(255,255,255,.16);
    border-top:0;
    box-shadow:0 28px 70px rgba(0,0,0,.82);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .nav-list.open{display:flex}
  .nav-list.open .nav-link,.nav-list.open .nav-button{background:transparent}
  .nav-list.open .nav-link:hover,.nav-list.open .nav-link.active,.nav-list.open .nav-button:hover{background:rgba(230,64,50,.14)}

  /* Auf dem Smartphone nur den aktiven Flyer zeigen. Dadurch sind keine
     Kanten/Flächen der benachbarten Flyer mehr sichtbar. */
  .carousel-wrap{padding:0 28px;overflow:visible}
  .flyer-viewport{overflow:hidden;padding:6px 0 16px}
  .flyer-card{flex-basis:min(330px,86vw);opacity:0;visibility:hidden;filter:none;transform:scale(.97);pointer-events:none}
  .flyer-card.active{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}
  .flyer-card img{border:0;box-shadow:0 16px 34px rgba(0,0,0,.58)}
  .carousel-button{z-index:8;background:rgba(0,0,0,.72)}
}

@media(max-width:430px){
  .carousel-wrap{padding:0 24px}
  .flyer-card{flex-basis:86vw}
}

/* V8 – Flyer-Buttons vollständig neutralisieren: kein Browser-Button-Rahmen */
.flyer-card{
  -webkit-appearance:none;
  appearance:none;
  border:0!important;
  outline:0;
  padding:0!important;
  margin:0;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none;
  color:inherit;
  font:inherit;
  line-height:0;
}
.flyer-card img{
  display:block;
  margin:0;
  padding:0;
  background:transparent;
  border-radius:0!important;
}
@media(max-width:760px){
  .flyer-card,
  .flyer-card.active{
    border:0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* V9 – Desktop-Carousel: seitliche Flyer vollständig sichtbar */
@media(min-width:761px){
  .carousel-wrap{
    max-width:1080px;
    padding:0 44px;
  }
  .flyer-viewport{
    padding:18px 0 26px;
  }
  .flyer-track{
    gap:24px;
  }
  .flyer-card{
    flex-basis:310px;
    transform:scale(.84);
    opacity:.50;
  }
  .flyer-card.active{
    transform:scale(1.03);
    opacity:1;
  }
  .carousel-button.prev{left:2px}
  .carousel-button.next{right:2px}
}

/* V10 – Desktop: Nachbar-Flyer niemals am Carousel-Viewport abschneiden */
@media(min-width:761px){
  body{overflow-x:hidden}
  .carousel-wrap{overflow:visible;max-width:1040px;padding:0 58px}
  .flyer-viewport{overflow:visible!important;padding:18px 0 26px}
  .flyer-track{gap:26px}
  .flyer-card{flex-basis:300px;transform:scale(.82);opacity:.48}
  .flyer-card.active{transform:scale(1);opacity:1;z-index:3}
  .carousel-button.prev{left:8px}
  .carousel-button.next{right:8px}
}

/* V11 – Flyer immer vollständig anzeigen, Original-Seitenverhältnis beibehalten */
.flyer-card img{
  width:100%;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
