@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=DM+Sans:wght@400;500;600&display=swap');:root{--bg:#0b0d10;--panel:#15181b;--gold:#d7b778;--cream:#f4eddf;--muted:#bdb7ac}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#24231e,#0b0d10 65%);color:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}.header{border-bottom:1px solid #6b5738;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 5%;background:#101113e8;position:sticky;top:0;z-index:10}.logo{font:600 21px Cinzel,serif;color:var(--gold);letter-spacing:.1em}.logo small{font-size:10px}.logo img{max-height:78px;max-width:300px}nav{display:flex;gap:19px;flex-wrap:wrap}nav a{font-size:13px;text-transform:uppercase;letter-spacing:.09em}nav .active{color:var(--gold);border-bottom:1px solid var(--gold)}.menu{display:none;background:none;border:1px solid var(--gold);color:var(--gold);font-size:24px}.wrap{max-width:1120px;margin:auto;padding:35px 22px 90px;min-height:65vh}.heading{text-align:center;padding:65px 0 45px}.eyebrow{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:12px}.heading h1,.hero h1{font:500 clamp(35px,6vw,68px)/1.15 Cinzel,serif;margin:20px 0}.heading p{color:var(--muted);max-width:720px;margin:auto}.hero{text-align:center;padding:110px 15px 100px;border:1px solid #655338;background:linear-gradient(#0b0d10a8,#0b0d10e8),radial-gradient(circle at 50% 0%,#6e5b3e,#111);margin-top:25px}.hero h1{color:var(--cream)}.hero p{max-width:670px;margin:0 auto 30px;color:#ddd3c3}.btn{display:inline-block;background:var(--gold);color:#101010;padding:12px 25px;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:600;border:0;cursor:pointer}.btn:hover{background:#f0d59b;color:#101010}.btn.outline{background:transparent;border:1px solid var(--gold);color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px;margin:35px 0}.card{background:linear-gradient(145deg,#1d1e1e,#121416);border:1px solid #55482f;padding:28px}.card h2,.card h3{font:500 23px Cinzel,serif;color:var(--gold)}.card p,.muted{color:var(--muted)}.section-title{font:400 30px Cinzel,serif;text-align:center;color:var(--gold);margin:65px 0 20px}.line{border-bottom:1px solid #51452f;padding:18px 0}.tag{font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.15em}.portrait{height:155px;display:grid;place-items:center;background:#292820;color:#8c7a5a;font:50px Cinzel,serif}.portrait img{width:100%;height:100%;object-fit:cover}input,textarea{width:100%;background:#0c0e10;border:1px solid #6a5c44;color:white;padding:13px;font:inherit;margin:6px 0 16px}label{display:block;color:var(--gold)}textarea{min-height:130px}footer{border-top:1px solid #54472e;text-align:center;padding:35px;color:var(--muted);font-size:13px}footer a{color:var(--gold)}.notice{border:1px solid #76613e;padding:18px;color:var(--gold)}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:900px){.header{flex-wrap:wrap}.menu{display:block}nav{display:none;width:100%;flex-direction:column}nav.open{display:flex}.hero{padding:75px 12px}}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.photo-grid img{width:100%;height:210px;object-fit:cover}.photo-grid figure{margin:0}.photo-grid figcaption{margin-top:10px}input[type=checkbox]{accent-color:var(--gold)}

.booking-form{display:grid;gap:14px;max-width:700px;margin-top:20px}.booking-form label{display:grid;gap:6px}.booking-form input,.booking-form textarea{width:100%;box-sizing:border-box;padding:12px;background:#171717;color:#f5eee2;border:1px solid #8b795a;border-radius:3px;font:inherit}.booking-form button{justify-self:start;cursor:pointer}.spam-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.member-card{display:block;transition:transform .18s ease,border-color .18s ease}.member-card:hover,.member-card:focus-visible{transform:translateY(-4px);border-color:var(--gold);color:var(--cream)}.member-card h2{margin-bottom:4px}.member-more{font-size:13px;color:var(--gold)!important;margin:15px 0 0}.member-profile{display:grid;grid-template-columns:minmax(220px,350px) 1fr;gap:32px;align-items:start}.profile-photo{height:390px}.member-profile .btn{margin-top:20px}@media(max-width:700px){.member-profile{grid-template-columns:1fr}.profile-photo{height:290px}}

.member-interview{margin-top:28px}.member-interview>.eyebrow{margin:0}.interview-item{padding:19px 0;border-bottom:1px solid #55482f}.interview-item:last-child{border-bottom:0}.interview-item h3{font:500 clamp(17px,2.2vw,21px)/1.5 Cinzel,serif;margin:0 0 9px}.interview-pending{font-style:italic;margin:0;color:var(--muted)}

.gig-poster{display:block;width:min(100%,360px);height:auto;max-height:540px;object-fit:contain;margin:18px 0;border-radius:12px}

/* V11: Konzertplakate kompakt, Original per Klick */
.gig-poster{width:180px;max-width:100%;max-height:260px;height:auto;object-fit:contain;display:block;margin:14px 0;border-radius:6px}
@media(max-width:600px){.gig-poster{width:150px;max-height:220px}}

/* V13: Musikerfotos einheitlich und ohne Überlauf */
.member-profile{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:start;gap:26px}
.member-profile > *{min-width:0}
.member-profile .profile-photo{width:100%;height:300px;max-width:240px;overflow:hidden;display:block}
.member-profile .profile-photo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center top}
.member-profile p,.member-interview h3{overflow-wrap:anywhere}
@media(max-width:700px){.member-profile{grid-template-columns:minmax(0,1fr)}.member-profile .profile-photo{width:min(100%,220px);height:275px;max-width:220px}}

/* V14: Profilfotos aus der Adminverwaltung auch als Thumbnails auf der Bandübersicht */
.member-card .member-thumb{height:180px;width:100%;overflow:hidden;display:block;line-height:180px;text-align:center}
.member-card .member-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.profile-back{margin:26px 0 0;text-align:center}
@media(max-width:600px){.member-card .member-thumb{height:165px;line-height:165px}}

/* V15: Bandlogo im Kopfbereich */
.header .logo{display:flex;align-items:center;flex:0 0 auto;line-height:1}
.header .logo img{display:block;width:auto;height:auto;max-height:72px;max-width:235px;object-fit:contain}
@media(max-width:600px){.header .logo img{max-height:58px;max-width:185px}}

/* V17: Fotoalben und Galerie mit Lightbox */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.album-card{display:block;transition:border-color .2s,transform .2s;min-width:0}
.album-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.album-card h2{margin:16px 0 8px}
.album-cover{width:100%;aspect-ratio:4/3;background:#292820;overflow:hidden;display:grid;place-items:center;color:var(--gold);font-size:55px}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover}
.album-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin:28px 0}
.album-thumb{border:1px solid #55482f;background:#191919;padding:0;cursor:pointer;aspect-ratio:1;overflow:hidden}
.album-thumb:hover,.album-thumb:focus-visible{border-color:var(--gold)}
.album-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.album-lightbox[hidden]{display:none}
.album-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:55px 15px 25px}
.album-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:calc(100% - 100px);max-height:100%}
.album-lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 125px);width:auto;height:auto;object-fit:contain}
.album-lightbox figcaption{color:var(--cream);text-align:center;padding-top:12px;font-size:13px;overflow-wrap:anywhere}
.album-lightbox button{border:1px solid #786641;background:#161616;color:var(--gold);cursor:pointer;font-size:38px;width:42px;height:54px;flex-shrink:0}
.album-lightbox .lightbox-close{position:absolute;right:20px;top:12px;height:42px}
@media(max-width:600px){.album-thumbnails{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:8px}.album-lightbox{padding:55px 6px 15px}.album-lightbox figure{max-width:calc(100% - 80px)}.album-lightbox button{width:35px}}

/* V19: News als goldumrandete Karten; Live-Lounge-Vintage am Seitenende */
.home-news-card{border:1px solid #927747;background:linear-gradient(145deg,#1d1e1e,#121416);padding:26px 28px;margin:20px 0 24px;overflow-wrap:anywhere}
.home-news-card h3{color:var(--gold);margin:12px 0;font:500 23px Cinzel,serif}
.home-news-card p{color:var(--cream);white-space:normal}
.home-news-card + .home-news-card{margin-top:22px}
.home-news-card ~ .hero{margin-top:65px}
@media(max-width:600px){.home-news-card{padding:20px 18px}}

/* V20: W-Formation – oben Sarah, Pedi, Bernhard; unten Tim und Robert in den Lücken */
.member-grid-w{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:stretch}
.member-grid-w>.member-card{grid-column:span 2;min-width:0}
.member-grid-w>.member-card:nth-child(4){grid-column:2 / span 2}
.member-grid-w>.member-card:nth-child(5){grid-column:4 / span 2}
@media(max-width:750px){.member-grid-w{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-grid-w>.member-card,.member-grid-w>.member-card:nth-child(4),.member-grid-w>.member-card:nth-child(5){grid-column:auto}.member-grid-w>.member-card:last-child{grid-column:1 / -1;max-width:calc(50% - 8px);width:100%;justify-self:center}}
@media(max-width:480px){.member-grid-w{grid-template-columns:1fr}.member-grid-w>.member-card,.member-grid-w>.member-card:nth-child(4),.member-grid-w>.member-card:nth-child(5),.member-grid-w>.member-card:last-child{grid-column:1;max-width:none}}

/* V21: transparentes Bandlogo als dezentes Wasserzeichen auf allen Seiten */
body::before{content:"";position:fixed;inset:0;background-image:url("wasserzeichen.png");background-repeat:no-repeat;background-position:center center;background-size:min(72vw,780px) auto;opacity:.055;pointer-events:none;z-index:0}
body>header,body>main,body>footer{position:relative;z-index:1}
body>header{position:sticky;top:0;z-index:10}
@media(max-width:600px){body::before{background-size:90vw auto;opacity:.045}}

/* V22: W-Formation für die Bandübersicht, auch mit Wasserzeichen aktiv */
@media(min-width:751px){
 .member-grid-w{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
 .member-grid-w>.member-card:nth-child(1){grid-column:1 / span 2}
 .member-grid-w>.member-card:nth-child(2){grid-column:3 / span 2}
 .member-grid-w>.member-card:nth-child(3){grid-column:5 / span 2}
 .member-grid-w>.member-card:nth-child(4){grid-column:2 / span 2}
 .member-grid-w>.member-card:nth-child(5){grid-column:4 / span 2}
}

/* V23: Pressekit und Stage Rider auf der Booking-Seite */
.booking-documents{margin:36px 0}
.booking-documents>h2{color:var(--gold)}
.booking-document{display:flex;flex-direction:column;gap:10px}
.booking-document-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto}
.booking-document-actions a:not(.btn){color:var(--gold);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* V24: WhatsApp-Button auf Kontaktseite */
.whatsapp-contact{margin:18px 0 24px;padding:18px;border:1px solid rgba(215,180,110,.5);border-radius:10px}
.whatsapp-button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:#187d46;color:#fff!important;border-radius:7px;font-weight:700;text-decoration:none;transition:background .2s}
.whatsapp-button:hover,.whatsapp-button:focus-visible{background:#116237;color:#fff!important}
.whatsapp-button svg{flex-shrink:0}
.whatsapp-hint{font-size:.85rem;opacity:.8;margin:10px 0 0}

/* V25: transparentes Logo ohne dunklen Bildhintergrund, proportional im Header */
.header .logo{display:flex;align-items:center;flex:0 1 225px;min-width:0}
.header .logo img{display:block;width:100%;height:auto;max-width:225px;max-height:90px;object-fit:contain;object-position:left center}
@media(max-width:600px){.header .logo{flex-basis:175px}.header .logo img{max-width:175px;max-height:70px}}
