/* 報名成功頁付款方式（只喺 book.html 載入）2026-11-14 */
.pay-methods { margin: 1.1rem 0 .4rem; border: 1.5px solid rgba(43,33,24,.16); border-radius: 18px; background: #fff; padding: 16px 18px; }
.pay-methods__lead { margin: 0 0 .8rem; font-weight: 700; font-size: .95rem; line-height: 1.6; }
.pay-methods__grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.pay-method { border: 1px solid rgba(43,33,24,.12); border-radius: 14px; background: #fffaf0; padding: 10px 12px; }
.pay-method__name { margin: 0 0 .2rem; font-size: .8rem; color: var(--ink-soft); font-weight: 700; }
.pay-method__value { margin: 0; font-weight: 800; font-size: 1rem; line-height: 1.45; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pay-method__sub { font-weight: 500; font-size: .8rem; color: var(--ink-soft); }
.pay-copy { border: 1px solid rgba(43,33,24,.2); background: #fff; border-radius: 999px; padding: 3px 10px; font-size: .76rem; font-weight: 700; cursor: pointer; }
.pay-copy:hover { background: #ffe9a8; }
.pay-qr { margin: 1rem 0 0; display: flex; flex-direction: column; align-items: center; gap: .45rem; text-align: center; }
.pay-qr img { width: 196px; max-width: 100%; height: auto; border-radius: 12px; background: #fff; padding: 6px; border: 1px solid rgba(43,33,24,.1); }
.pay-qr figcaption { font-size: .8rem; color: var(--ink-soft); }
.payment-box[hidden] { display: none; }
.pay-acct{white-space:nowrap}

/* Two-step booking form */
.booking-step-panel[hidden] { display: none !important; }
.booking-progress {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--yellow-soft);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.booking-step-nav { margin-top: 18px; }
.booking-step-nav .btn { width: 100%; }
@media (min-width: 640px) {
  .booking-step-nav .btn { width: auto; }
}

/* Mobile: jump from the class summary straight to the form. */
.booking-jump { display: none; }
#bookingForm { scroll-margin-top: 88px; }
@media (max-width: 760px) {
  .booking-jump {
    display: inline-flex;
    width: 100%;
    margin: 12px 0 4px;
  }
}

/* 2026-11-14：booking 自選 4 堂日期 */
.lesson-dates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.lesson-date {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 9px 12px;
  border: 1.5px solid rgba(43, 33, 24, .18);
  border-radius: 14px;
  background: #fffaf0;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.3;
}
.lesson-date input {
  width: 18px;
  height: 18px;
  accent-color: var(--yellow-deep);
  flex: 0 0 auto;
}
.lesson-date:has(input:checked) {
  border-color: var(--ink);
  background: var(--yellow-soft);
}
.lesson-date__text { font-weight: 700; }
.booking-step__num { color: var(--ink-soft) !important; }
.session-item__venue-note { color: var(--ink) !important; background: #fffbf1; }
#lessonDatesField[hidden] { display: none !important; }
.session-item__address {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.5;
}
.session-item__map { font-weight: 800; text-decoration: underline; }
@media (max-width: 420px) {
  .lesson-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 2026-11-14 a11y: venue note contrast */
.session-item__venue-note { color: #6b5d4d !important; opacity: 1 !important; }
