﻿/* Schallermanns - Layout nach Vorbild der Originalseite
   Farben: Dunkelbraun #231f18 / #473e30, Salbeigrün #8ead97, Creme #fff3c6
   Schriften: Anton (Überschriften), Enriqueta (Fließtext) */
:root{
  --ink:#231f18; --ink-soft:#473e30; --muted:#756e62;
  --sage:#8ead97; --sage-light:#bbdec5; --sage-dark:#65846d;
  --cream:#fff3c6; --line:#dbd3d3; --bg:#fff;
  --font-head:"Anton","Arial Narrow",Impact,sans-serif;
  --font-body:"Enriqueta",Georgia,serif;
  --font-ui:"Lucida Sans Unicode","Lucida Grande",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--sage-dark);text-underline-offset:3px}
a:hover{color:var(--ink)}
.wrap{max-width:980px;margin:0 auto;padding-inline:20px}

/* Kopfbereich */
.hero{background:#333;color:#fff;text-align:center}
.hero .wrap{padding-block:clamp(48px,9vw,110px)}
.hero h1{margin:0;font:400 clamp(2.8rem,9vw,5.5rem)/1.1 var(--font-head);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.hero p{margin:.2em 0 0;font:italic 700 clamp(1.1rem,3vw,1.6rem) var(--font-body);color:var(--cream);letter-spacing:.12em}
.hero.small .wrap{padding-block:clamp(28px,5vw,56px)}
.hero.small h1{font-size:clamp(2rem,6vw,3.4rem)}

/* Navigation */
.menu{background:var(--ink);position:sticky;top:0;z-index:20;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.menu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.menu li{position:relative}
.menu a{display:block;padding:15px 24px;color:#fff;text-decoration:none;font:400 1.05rem var(--font-head);letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}
.menu a:hover,.menu a[aria-current="page"]{background:var(--sage);color:var(--ink)}
.menu li ul{display:none;position:absolute;left:0;top:100%;flex-direction:column;min-width:260px;background:var(--ink-soft);box-shadow:0 6px 12px rgba(0,0,0,.3)}
.menu li:hover>ul,.menu li:focus-within>ul{display:flex}
.menu li ul a{font-family:var(--font-ui);font-size:.9rem;letter-spacing:0;text-transform:none;padding:12px 20px}

/* Inhalt */
main{padding-block:clamp(32px,6vw,64px)}
h2{margin:0 0 .6em;font:400 clamp(1.8rem,4vw,2.5rem)/1.2 var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
h3{margin:0 0 .3em;font:700 1.35rem var(--font-body);color:var(--ink-soft)}
.lead{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:700;line-height:1.5;text-align:center;max-width:780px;margin:0 auto 1em}
.lead.sub{font-size:1.15rem;font-weight:400}
.slogan{text-align:center;color:var(--muted);font-style:italic;margin-bottom:2em}
.slogan strong{color:var(--ink);font-style:normal}
.figure{margin:0 auto 2.5em;max-width:100%;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.figure img{width:100%;height:auto}
.figure.narrow{max-width:640px}
.about{max-width:780px;margin:0 auto 2em}
.about h2{text-align:center}
.divider{border:0;border-top:2px solid var(--sage);margin:2.5em 0}

/* Booking / Follow us */
.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:2em}
.panel{background:var(--cream);border-left:6px solid var(--sage);padding:24px 28px}
.panel h2{font-size:1.6rem}
.panel p{margin:.2em 0}
.social{display:flex;gap:14px;margin-top:10px}
.social img{width:44px;height:44px;transition:transform .2s}
.social a:hover img{transform:scale(1.12)}

/* Termine */
.event{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.event .date{background:var(--sage);color:var(--ink);text-align:center;padding:10px 6px;font-family:var(--font-head);line-height:1.1}
.event .date b{display:block;font-weight:400;font-size:2.4rem}
.event .date span{text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}
.event h3{margin:0}
.event p{margin:.1em 0;color:var(--muted)}

/* Band */
.members{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:26px}
.member{display:block;min-width:0;text-decoration:none;color:var(--ink);text-align:center}
.member .photo{aspect-ratio:3/4;background:var(--sage-light);margin-bottom:10px;overflow:hidden;transition:transform .2s}
.member:hover .photo{transform:translateY(-4px)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.member strong{display:block;font:400 1.35rem var(--font-head);letter-spacing:.05em;text-transform:uppercase}
.member span{color:var(--muted);font-size:.95rem}
.memoriam{text-align:center;margin-top:1em}
.memoriam .photo{width:200px;max-width:100%;aspect-ratio:1;margin:0 auto 12px;background:var(--ink-soft);border-radius:50%;overflow:hidden}

/* Profil */
.profile{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:36px;align-items:start}
.profile .photo img{height:auto;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.role{margin-top:-.6em;color:var(--sage-dark);font-style:italic;font-weight:700}
.pager{display:flex;justify-content:space-between;margin-top:2.5em;font-family:var(--font-ui);font-size:.95rem}

/* Musik */
.tracks{list-style:none;margin:2em 0 0;padding:0}
.tracks li{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.tracks .title{font:400 1.2rem var(--font-head);letter-spacing:.04em;text-transform:uppercase}
.tracks .title small{display:block;font:italic 400 .85rem var(--font-body);text-transform:none;letter-spacing:0;color:var(--muted)}
.tracks audio{width:100%}

/* Rechtliche Seiten */
.privacy{max-width:820px;margin:0 auto}
.privacy h2{font-size:1.6rem;margin-top:1.8em}
.privacy h3{margin-top:1.4em}
.privacy p,.privacy li{font-size:1rem}
.privacy ul.abc{list-style:none;padding-left:1.2em}
.privacy ul:not(.abc){padding-left:1.6em}
.privacy li{margin:.3em 0}
.impressum h2{margin-top:1.6em}
.impressum h2:first-child{margin-top:0}
.impressum p{font-size:1rem}

/* Fuß */
footer.site{background:var(--ink);color:var(--line);text-align:center;padding:28px 0;font-family:var(--font-ui);font-size:.9rem}
footer.site a{color:var(--sage-light)}

@media(max-width:640px){
  .menu a{padding:12px 14px;font-size:.95rem}
  .menu li ul,.menu li:hover>ul,.menu li:focus-within>ul{display:none}
  .event{grid-template-columns:80px 1fr;gap:14px}
  .profile{grid-template-columns:1fr}
  .tracks li{grid-template-columns:1fr;gap:6px}
}

