/* ==========================================================================
   Shiny Kiwi: upcoming shows page styles
   Shared tokens, header, buttons, and base footer live in main.css
   ========================================================================== */

.page-head{padding-top:40px; padding-bottom:24px;}
.page-head h1{font-size:clamp(1.9rem,3.6vw,2.6rem); color:var(--green-deep); margin:10px 0 12px;}
.page-head p{max-width:66ch; color:#4a4a3c; font-size:1.02rem;}

main.wrap{padding-bottom:70px;}

.shows-group{margin-bottom:44px;}
.shows-group:last-of-type{margin-bottom:0;}
.shows-group-label{margin-bottom:16px;}

.shows-list{display:flex; flex-direction:column; gap:14px;}

.show-card{
  position:relative;
  display:grid; grid-template-columns:64px 1fr auto; gap:18px; align-items:center;
  background:var(--cream-panel); border:1px solid #E4DFC8; border-radius:16px;
  padding:16px 20px;
}
.show-card.show-next{
  border:2px solid var(--gold);
  box-shadow:0 10px 24px -14px rgba(166,135,63,.45);
}

.show-next-badge{
  position:absolute; top:-12px; right:16px;
  background:var(--gold); color:var(--seed);
  font-family:'Space Mono', monospace; font-size:.64rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}

.show-date{
  width:64px; height:64px; border-radius:12px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.show-date.upcoming{background:var(--green-deep); color:var(--cream);}
.show-date.past{background:#EAE6D3; color:#7a7864;}
.show-day{font-family:'Baloo 2'; font-weight:800; font-size:1.5rem; line-height:1;}
.show-month{font-family:'Space Mono', monospace; font-size:.68rem; font-weight:700; letter-spacing:.06em; margin-top:2px;}

.show-info{min-width:0;}
.show-name{font-family:'Baloo 2'; font-size:1.05rem; color:var(--charcoal); margin-bottom:3px;}
.show-venue{font-size:.88rem; color:#5b5a4d;}
.show-note{font-size:.82rem; color:#8a8877; margin-top:4px;}

.show-status{
  font-family:'Space Mono', monospace; font-size:.66rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px; white-space:nowrap;
}
.show-status.confirmed{background:rgba(62,122,62,.12); color:var(--good);}
.show-status.completed{background:rgba(138,136,119,.15); color:#7a7864;}

.shows-empty{color:#5b5a4d; font-size:.95rem;}
.shows-empty a{color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:2px;}
.shows-empty a:hover{color:var(--green-mid);}

@media (max-width:640px){
  .show-card{grid-template-columns:56px 1fr; gap:12px; padding:14px 16px;}
  .show-date{width:56px; height:56px;}
  .show-status{grid-column:2 / 3; justify-self:start; margin-top:4px;}
}
