/* zwanmusic.com — restored fan-site styles (period-faithful 2002 aesthetic) */
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden}
body{
  background:#000;color:#c8c8c8;
  font-family:"Courier New",Courier,monospace;
  font-size:16px;line-height:1.6;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;border:0;display:block}
a{color:#c0392b;text-decoration:none}
a:hover{color:#ff3b30}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}

/* top banner */
header.site{
  background:#000;border-bottom:1px solid #2a0000;
  padding:22px 0 14px;text-align:center;
}
header.site .logo{font-family:Georgia,"Times New Roman",serif;font-weight:bold;
  font-size:clamp(34px,9vw,64px);letter-spacing:.18em;color:#fff;margin:0;line-height:1}
header.site .tag{color:#8c0000;font-size:13px;letter-spacing:.32em;margin-top:8px;text-transform:uppercase}

/* nav */
nav.main{background:#0c0c0c;border-bottom:2px solid #8c0000;position:sticky;top:0;z-index:20}
nav.main ul{list-style:none;margin:0 auto;padding:0;max-width:900px;
  display:flex;flex-wrap:wrap;justify-content:center}
nav.main li{margin:0}
nav.main a{display:block;color:#ddd;padding:14px 16px;font-size:14px;
  letter-spacing:.12em;text-transform:uppercase;min-height:44px}
nav.main a:hover,nav.main a.active{background:#8c0000;color:#fff}

main{padding:30px 0 50px;min-height:50vh}
h1{font-family:Georgia,serif;color:#fff;font-size:clamp(26px,6vw,40px);
  margin:0 0 6px;letter-spacing:.04em}
h2{color:#c0392b;font-size:clamp(19px,4vw,24px);margin:34px 0 12px;
  border-bottom:1px solid #2a0000;padding-bottom:6px;font-family:Georgia,serif}
h3{color:#e0e0e0;font-size:17px;margin:22px 0 8px}
p{margin:0 0 14px}
.lead{color:#bdbdbd;font-size:17px}
.subnav{color:#888;font-size:14px;margin:0 0 22px}
.subnav a{color:#c0392b}

/* media figures */
figure{margin:0 0 22px}
figure img{margin:0 auto;border:1px solid #222}
figcaption{color:#888;font-size:13px;text-align:center;margin-top:7px}

/* galleries */
.gallery{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:18px 0}
.gallery a{display:block;width:150px}
.gallery img{width:150px;height:150px;object-fit:cover;border:1px solid #333}
.gallery img:hover{border-color:#8c0000}
.gallery figcaption{width:150px}

/* setlist / data tables */
.tbl-scroll{overflow-x:auto}
table.data{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}
table.data th,table.data td{border:1px solid #2a2a2a;padding:9px 11px;text-align:left}
table.data th{background:#1a0000;color:#e0a0a0}
table.data tr:nth-child(even) td{background:#0a0a0a}

/* show list */
ul.shows{list-style:none;padding:0;margin:18px 0}
ul.shows li{border-left:3px solid #8c0000;background:#0a0a0a;padding:12px 16px;margin:0 0 10px}
ul.shows .date{color:#c0392b;font-weight:bold}
ul.shows .venue{color:#fff}

.card{background:#0a0a0a;border:1px solid #1e1e1e;padding:18px 20px;margin:0 0 18px}
.note{color:#9a9a9a;font-size:14px;font-style:italic}

footer.site{background:#080808;border-top:2px solid #8c0000;padding:28px 0;
  text-align:center;color:#777;font-size:13px;margin-top:30px}
footer.site a{color:#c0392b}
footer.site .links{margin:0 0 12px}
footer.site .links a{margin:0 10px;letter-spacing:.06em}

@media(max-width:560px){
  nav.main a{padding:12px 11px;font-size:13px}
  .gallery a,.gallery img,.gallery figcaption{width:130px}
  .gallery img{height:130px}
}
