*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f1e9;color:#171319;font:16px/1.48 Arial,Helvetica,sans-serif}.en{display:none}html[lang=en] .en{display:inline}html[lang=en] .de{display:none}html[lang=en] div.en,html[lang=en] section.en{display:block}.hero{height:clamp(155px,19.8vw,304px);position:relative;background:#350409;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:contain;object-position:center;background:#310006}.lang{position:absolute;right:15px;top:12px;display:flex;gap:8px}.lang button{background:#220608a8;border:1px solid #ffffff80;color:white;border-radius:3px;padding:4px 8px;cursor:pointer;font-size:20px}.lang button.active{outline:2px solid #fff}.nav{background:linear-gradient(#d10a21,#970010);box-shadow:0 3px 9px #0003}.navinner{max-width:1470px;margin:auto;display:flex;justify-content:space-around;gap:8px;align-items:center;padding:9px 18px;flex-wrap:wrap}.nav a{color:white;text-decoration:none;font-size:14px;font-weight:700;padding:7px 8px;border-radius:4px}.nav a:hover,.nav a:focus{background:#fff;color:#a30015}.container{max-width:1450px;margin:auto;padding:22px 28px 40px}.intro{display:grid;grid-template-columns:44% 56%;gap:25px;padding:0 12px 20px}.intro h1,.pagehead h1,h1{font-size:clamp(26px,2.8vw,40px);font-style:italic;line-height:1.13;margin:0 0 18px}.intro p{max-width:570px;font-size:17px;margin:10px 0}.tagline{font-weight:700;font-size:19px!important}.btn{display:inline-block;background:linear-gradient(125deg,#d00016,#a3000d);border:0;border-radius:8px;padding:11px 20px;color:white;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 2px 4px #0002}.btn:hover{background:#80000b}.genres{border-left:1px solid #e1d3c7;padding:15px 20px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;text-align:center;align-items:start}.genres>div{font-size:35px;color:#ae0018;font-weight:bold}.genres small{display:block;font-size:14px;color:#18131a;line-height:1.2}.genres em{grid-column:1/-1;font-size:clamp(22px,3vw,40px);color:#a80013;font-family:cursive;text-align:center}.feature-grid{display:grid;grid-template-columns:30% 40% 30%;gap:13px}.panel{background:#fffaf5;border-radius:12px;padding:19px;box-shadow:0 2px 10px #54251012;margin-bottom:18px}.panel h2{font-size:clamp(20px,1.65vw,26px);margin:0 0 14px;color:#a00015}.shows{background:#f3e3d5}.event{display:flex;align-items:center;gap:11px;background:#fff;border-radius:9px;margin:7px 0;padding:8px}.datebox{min-width:57px;background:#b9001b;color:#fff;text-align:center;border-radius:5px;padding:6px}.datebox strong{display:block;font-size:25px;line-height:1}.datebox small{font-size:12px}.evbody{flex:1;min-width:0}.evbody strong{font-size:14px}.evbody p{margin:2px 0;font-size:12px}.evbody small{color:#666}.lineup{font-weight:700}.evlinks{display:flex;flex-direction:column;gap:5px}.evlinks a{font-size:12px;color:#a00015}.shows>.btn{display:block;text-align:center;margin-top:12px}.video{position:relative;aspect-ratio:16/9;background:#15090d;border-radius:12px;overflow:hidden}.video iframe{position:absolute;width:100%;height:100%;border:0}.video-card{align-self:start}.vid-caption{padding:8px;font-size:13px}.vid-caption a{color:#ae0018}.promo{display:grid;gap:12px}.promobox{position:relative;min-height:135px;border-radius:11px;display:flex;align-items:center;justify-content:flex-end;background-size:cover;background-position:center;color:white;text-decoration:none;overflow:hidden}.promobox:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#160507a8)}.promobox span{position:relative;font:italic 30px cursive;text-align:right;padding:15px}.promobox small{display:block;font:13px Arial;margin-top:8px}.wedding{background-image:url('images/DSC08389.jpg')}.acoustic{background-image:url('files/DUO_DE.jpg')}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.three p{min-height:70px}.pagehead{padding:16px 5px 24px}.pagehead p{font-size:17px}.buttons,.yearnav{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.yearnav{margin-bottom:20px}.yearnav .btn{padding:8px 14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.split img{width:100%;max-height:420px;object-fit:contain;border-radius:9px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.cards img{width:100%;height:210px;object-fit:contain;background:#eee2d9;border-radius:8px}.cards .panel h2{margin-top:12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery img{width:100%;height:215px;object-fit:cover;border-radius:8px}.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.refs>div{padding:12px;background:#f7ede5;border-radius:7px}.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.contact label{font-weight:700}.contact input,.contact textarea{width:100%;display:block;border:1px solid #d7c6b7;border-radius:7px;padding:12px;font:inherit;margin-top:5px;background:white}.contact .wide{grid-column:1/-1}.muted{color:#746c6a;font-size:13px}.legal{white-space:normal;overflow-wrap:anywhere}.legal p{margin:6px 0}footer{background:#1c191d;color:white;padding:20px 15px}.foot{max-width:1450px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px}footer a{color:white;text-decoration:none;margin:0 5px}footer a:hover{text-decoration:underline}@media(max-width:1000px){.feature-grid{grid-template-columns:1fr 1fr}.promo{grid-column:1/-1;grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr}.genres{border:0}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.container{padding:15px}.navinner{justify-content:center}.nav a{font-size:12px;padding:5px}.hero{height:145px}.hero-img{object-fit:cover;object-position:center}.intro,.feature-grid,.three,.split,.cards,.contact{grid-template-columns:1fr}.promo{grid-column:auto;grid-template-columns:1fr}.genres{grid-template-columns:repeat(3,1fr);padding:10px 0}.genres em{font-size:23px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:140px}.refs{grid-template-columns:1fr}.contact .wide{grid-column:auto}.foot{flex-direction:column;text-align:center}.cards img{height:230px}}
/* Startseite – freigegebene Foto- und Sprachkorrekturen */
.wedding{background-image:url('wedding-duo-original.jpg');background-position:center 37%}
.acoustic{background-image:url('acoustic-band-original.jpg');background-position:center 35%}
.promobox.wedding:before,.promobox.acoustic:before{background:linear-gradient(90deg,rgba(20,5,7,.05) 5%,rgba(20,5,7,.12) 40%,rgba(20,5,7,.70) 100%)}
footer a[aria-label=Facebook],footer a[aria-label=Instagram],footer a[aria-label=YouTube],footer a[aria-label=WhatsApp]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:bold;font-size:23px;color:white;vertical-align:middle}
footer a[aria-label=Facebook]{background:#1877f2}footer a[aria-label=Instagram]{background:linear-gradient(35deg,#feda75,#d62976,#962fbf)}footer a[aria-label=YouTube]{background:#f00}footer a[aria-label=WhatsApp]{background:#25d366}

/* Portrait-safe promotional images: never crop faces or heads */
.promobox.wedding,.promobox.acoustic{background-size:contain;background-repeat:no-repeat;background-position:left center;background-color:#2b2020;}
.promobox.wedding:before,.promobox.acoustic:before{background:linear-gradient(90deg,transparent 0%,rgba(25,8,10,.20) 40%,rgba(25,8,10,.94) 100%)}
@media(max-width:650px){.promobox.wedding,.promobox.acoustic{min-height:170px;background-position:left center}}

/* Kontaktformular: einheitliche Feldbreiten und saubere Ausrichtung */
.contact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.contact label{display:block;min-width:0;width:100%}
.contact input,.contact textarea,.contact select{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;margin:5px 0 0;min-height:46px}
.contact textarea{min-height:125px;resize:vertical}
.contact button[type="submit"]{grid-column:1/-1;width:100%;max-width:100%;margin:0;text-align:center}
@media(max-width:700px){.contact{grid-template-columns:minmax(0,1fr)}.contact .wide,.contact button[type="submit"]{grid-column:1}}

/* Gleiche sichtbare Höhe für Datum und alle anderen einzeiligen Formularfelder */
.contact input:not([type="checkbox"]):not([type="radio"]),
.contact input[type="date"] {
  box-sizing: border-box;
  width: 100%;
  height: 68px;
  min-height: 68px;
  max-height: 68px;
  padding: 12px 18px;
  line-height: normal;
  margin-top: 5px;
  border: 1px solid #d7c6b7;
  border-radius: 7px;
  background: #fff;
  -webkit-appearance: none;
  appearance: none;
}
.contact input[type="date"]::-webkit-date-and-time-value { min-height: 0; text-align: left; }
.contact input[type="date"]::-webkit-datetime-edit { padding: 0; line-height: normal; }

/* Termine: öffentlich/privat, Kartensymbol statt Text */
.event-status{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;vertical-align:middle}
.status-public{background:#e9f5e8;color:#22682e}.status-private{background:#f2e6dd;color:#784b32}
.evlinks .map-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #d9c3b6;border-radius:9px;color:#a20018;background:#fff;text-decoration:none}
.evlinks .map-icon:hover{background:#a20018;color:white}
.undated-title{margin-top:28px;font-size:1.1rem}

/* About us: approved musician images and safe portrait crops */
.about-intro{align-items:center}.about-band-photo{width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:14px}.musician-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.musician-card{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:18px;background:#fff;border:1px solid #e9d9cf;border-radius:16px;padding:15px;align-items:center}.musician-photo{height:300px;background:#f3ede7;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.musician-photo img{width:100%;height:100%;object-fit:contain;object-position:center center}.musician-copy h3{font-size:clamp(1.1rem,1.8vw,1.45rem);margin:0 0 8px;color:#a40016}.musician-copy p{font-size:.98rem;line-height:1.5}.musician-role{font-weight:700}.musicians-panel h2{margin-bottom:20px}@media(max-width:900px){.musician-grid{grid-template-columns:1fr}}@media(max-width:550px){.musician-card{grid-template-columns:1fr}.musician-photo{height:300px}.musician-copy{padding:0 4px}}

/* Besetzungen: Portraets ohne Kopfbeschnitt */
.cards .panel img{object-fit:contain;object-position:center center;background:#f3eee8;}

/* Hochzeit 2026 */
.wedding-lead{grid-template-columns:1fr 1fr;gap:30px}.wedding-lead img{max-height:580px;object-fit:contain;background:#f2eee9}.wedding-lead p{font-size:18px;line-height:1.65}.wedding-block{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:28px}.wedding-copy p{font-size:17px;line-height:1.65}.wedding-eyebrow{font-weight:700;color:#a00015;letter-spacing:.03em}.wedding-block .video{width:100%}.wedding-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.wedding-services>div{background:#f6e9df;padding:20px;border-radius:10px}.wedding-services strong{color:#9f0015;font-size:18px}.wedding-services p{line-height:1.55}@media(max-width:850px){.wedding-lead,.wedding-block{grid-template-columns:1fr}.wedding-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.wedding-services{grid-template-columns:1fr}.wedding-block{padding:18px}}

/* Akustikband */
.acoustic-hero{text-align:center;padding:42px 36px}.acoustic-hero h1{max-width:900px;margin:12px auto}.acoustic-intro{max-width:880px;margin:18px auto 0;font-size:19px;line-height:1.75}.acoustic-video-section{text-align:center}.acoustic-video{max-width:900px;margin:22px auto}.acoustic-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.acoustic-occasions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.acoustic-features>div,.acoustic-occasions>div{background:#f6e9df;border-radius:12px;padding:22px}.acoustic-features strong,.acoustic-occasions strong{color:#a00015;font-size:18px}.acoustic-features p,.acoustic-occasions p{line-height:1.6}.acoustic-cta{text-align:center;padding:38px}.acoustic-cta p{margin:0 auto 22px;max-width:700px}@media(max-width:750px){.acoustic-features{grid-template-columns:1fr}.acoustic-occasions{grid-template-columns:1fr}.acoustic-hero{padding:26px 18px}.acoustic-intro{font-size:17px}}
