.luna-class-wrapper { font-family: inherit; }
.luna-filters { display:flex; gap:10px; margin-bottom:15px; flex-wrap:wrap; }
.luna-filter { padding:10px 12px; border:1px solid #ccc; border-radius:3px; min-width:180px; }
.luna-filter-btn { padding:10px 16px; border:1px solid #ccc; border-radius:3px; background:#fff; cursor:pointer; }
.luna-filter-btn:hover { background:#f5f5f5; }

.class-date { margin-top:26px; font-size:20px; font-weight:400; }

.class-div {
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(0,0,0,.12);
  border-radius:3px;
  padding:14px;
  margin-top:10px;
  background:#fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.class-name-div { font-size:18px; font-weight:600; margin-bottom:4px; }
.class-type, .class-instructor { font-size:13px; color:#666; margin-top:2px; }

.class-time-spots { text-align:right; min-width:180px; }
.class-book-time { font-weight:600; }
.class-spots-left, .class-credit-cost { font-size:12px; color:#666; margin-top:3px; }

.book-class-btn, .add-to-waitlist-btn {
  padding:10px 16px;
  border-radius:3px;
  border:1px solid #ccc;
  background:#fff;
  cursor:pointer;
  font-size:14px;
}
.book-class-btn:hover, .add-to-waitlist-btn:hover { background:#e7e7e7; }
.book-class-btn.full { opacity:.4; cursor:not-allowed; }
.luna-login { display:inline-block; text-decoration:none; }

@media (max-width: 720px){
  .class-div { flex-direction:column; align-items:flex-start; }
  .class-time-spots { text-align:left; min-width:auto; width:100%; }
  .class-signup-col { width:100%; }
  .book-class-btn, .add-to-waitlist-btn { width:100%; }
}
.luna-cancel-btn {
  padding:10px 16px;
  border-radius:3px;
  border:1px solid #ccc;
  background:#fff;
  cursor:pointer;
  font-size:14px;
}
.luna-cancel-btn:hover { background:#ffe5e5; }
.book-class-btn.full,
.book-class-btn[disabled] {
  background: rgba(168, 132, 89, 0.12) !important;
  border: 1px solid rgba(168, 132, 89, 0.35) !important;
  color: rgba(90, 60, 25, 0.75) !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
.book-class-btn.full:hover,
.book-class-btn[disabled]:hover {
  background: rgba(168, 132, 89, 0.18) !important;
  border: 1px solid rgba(168, 132, 89, 0.50) !important;
}
/* ------------------------------------
   BUTTON STYLES (match site gold theme)
------------------------------------- */

.book-class-btn,
.add-to-waitlist-btn,
.luna-cancel-btn {
  padding: 10px 16px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid rgba(0,0,0,0.20);
  cursor: pointer;
  transition: all 0.15s ease;
}

/* BOOK button (primary) */
.book-class-btn {
  background: #a88459 !important;        /* gold/tan */
  border: 1px solid #a88459 !important;
  color: #fff !important;
}

.book-class-btn:hover {
  background: #8f6f47 !important;
  border-color: #8f6f47 !important;
}

/* NEED CREDITS (disabled) */
.book-class-btn.full,
.book-class-btn[disabled] {
  background: rgba(168, 132, 89, 0.14) !important;
  border: 1px solid rgba(168, 132, 89, 0.30) !important;
  color: rgba(90, 60, 25, 0.70) !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

.book-class-btn.full:hover,
.book-class-btn[disabled]:hover {
  background: rgba(168, 132, 89, 0.18) !important;
  border-color: rgba(168, 132, 89, 0.40) !important;
}

/* NOTIFY button (outline) */
.add-to-waitlist-btn {
  background: #fff !important;
  border: 1px solid #a88459 !important;
  color: #a88459 !important;
}

.add-to-waitlist-btn:hover {
  background: rgba(168, 132, 89, 0.10) !important;
}

/* CANCEL button (soft red outline) */
.luna-cancel-btn {
  background: #fff !important;
  border: 1px solid rgba(180, 0, 0, 0.35) !important;
  color: rgba(180, 0, 0, 0.85) !important;
}

.luna-cancel-btn:hover {
  background: rgba(180, 0, 0, 0.08) !important;
}
/* Week selector bar */
.luna-week-strip { margin: 0 0 20px 0; }
.luna-week-strip-title {
  text-align: center;
  font-size: 34px;
  font-weight: 700;
  margin: 0 0 14px 0;
}
.luna-week-strip-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  border: 1px solid rgba(0,0,0,0.18);
}
.luna-week-tab {
  background: #efefef;
  border: none;
  padding: 22px 10px;
  cursor: pointer;
  border-right: 1px solid rgba(0,0,0,0.15);
  text-align: center;
}
.luna-week-tab:last-child { border-right: none; }

.luna-week-tab.active {
  background: #9fa39a; /* similar grey-green */
  color: #fff;
}
.luna-week-month {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1px;
}
.luna-week-range {
  font-size: 34px;
  font-weight: 700;
  margin-top: 4px;
}

/* Filter row layout: side-by-side like screenshot */
.luna-filters-grid {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 18px;
  align-items: center;
}
.luna-filter { width: 100%; }

/* Mobile adjustments */
@media (max-width: 900px) {
  .luna-week-strip-grid { grid-template-columns: repeat(3, 1fr); }
  .luna-filters-grid { grid-template-columns: 1fr; }
}
/* Filter button matches gold scheme */
.luna-filter-btn {
  background: #a88459 !important;
  border: 1px solid #a88459 !important;
  color: #fff !important;
  padding: 12px 22px;
  border-radius: 3px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.luna-filter-btn:hover {
  background: #8f6f47 !important;
  border-color: #8f6f47 !important;
}

.luna-filter-btn:active {
  transform: translateY(1px);
}