/* Schedule badges + status chips */
.badge{
  display:inline-block;
  margin-left:.5rem;
  padding:.2rem .6rem;
  border-radius:999px;
  font-size:.8em;
  line-height:1.4;
  background:rgba(0,0,0,.06);
}
.muted{ opacity:.8; }
.status-row{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  margin-bottom:.25rem;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.3rem .65rem;
  border-radius:10px;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
}
.status-open{
  color:#0f5132;
  background:#e9f6ee;
  border:1px solid #b8dfc6;
}
.status-waitlist{
  color:#b44d00;
  background:#fff4e8;
  border:1px solid #ffd9b3;
}
.status-coach{
  color:#1d3f72;
  background:#edf3ff;
  border:1px solid #c9d7f8;
}
.status-full{
  color:#9c1c1c;
  background:#ffecec;
  border:1px solid #ffc6c6;
}
.status-soon{
  color:#6c4b00;
  background:#fff6dd;
  border:1px solid #ffe2a8;
}

/* Collapsible schedule block (archive schedule) */
details.schedule-collapse{
  background: var(--bg-200);
  border: 1px solid var(--bg-300);
  border-radius: 16px;
  overflow: hidden;
}
details.schedule-collapse[open]{ border-color: var(--primary-200); }
details.schedule-collapse summary{ list-style: none; }
details.schedule-collapse summary::-webkit-details-marker{ display:none; }

.schedule-summary{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}
.schedule-summary .left strong{ display:block; }
.schedule-summary .left span{ color: var(--text-200); font-size: .92rem; }

.schedule-body{ padding: 0 1.15rem 1.15rem; }
.schedule-hero-actions{
  display:flex;
  justify-content:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:.75rem;
}
.btn-ghost{
  display:inline-block;
  padding: .7rem 1.2rem;
  border-radius: 999px;
  border: 1px solid var(--bg-300);
  color: var(--text);
  background: transparent;
  font-weight: 600;
  cursor: pointer;
}
.btn-ghost:hover{ border-color: var(--primary-200); }

/* Stacked copy button (subhead + main CTA) */
.btn-secondary.btn-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  line-height:1.1;
  text-align:center;
  padding:.55rem 1.35rem;
}
.btn-secondary.btn-stack .btn-sub{
  font-size:.68rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.78;
}

.waiver-banner{
  margin:1rem 0 1.5rem;
}

.waiver-banner__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 1rem;
  border-radius:14px;
  background:rgba(255,206,107,.16);
  border:1px solid rgba(255,206,107,.45);
  color:var(--text);
  font-weight:600;
}

.booking-disabled{
  opacity:.6;
  cursor:not-allowed;
}

@media (max-width: 720px){
  .waiver-banner__inner{
    flex-direction:column;
    align-items:flex-start;
  }
}
.btn-secondary.btn-stack .btn-main{
  font-weight:700;
  font-size:.95rem;
}
