/* ksc-frontend.css */

/* ── 商品頁時段選擇器 ── */
.ksc-session-selector { margin:20px 0; }
.ksc-selector-label { font-size:15px; font-weight:700; color:#1e1b4b; margin:0 0 12px; }
.ksc-session-option { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:1.5px solid #e5e7eb; border-radius:10px; margin-bottom:8px; cursor:pointer; transition:border-color .15s, background .15s; }
.ksc-session-option:hover { border-color:#a78bfa; background:#faf9ff; }
.ksc-session-option input[type=checkbox] { margin-top:3px; width:16px; height:16px; accent-color:#6c63ff; cursor:pointer; flex-shrink:0; }
.ksc-session-info { display:flex; flex-direction:column; gap:3px; }
.ksc-session-date { font-weight:700; color:#1e1b4b; font-size:15px; }
.ksc-session-time { font-size:14px; color:#374151; }
.ksc-session-loc, .ksc-session-teacher, .ksc-session-note-text { font-size:12px; color:#888; }
.ksc-session-status { margin-top:4px; }
.ksc-badge { display:inline-block; padding:3px 10px; border-radius:99px; font-size:11px; font-weight:700; }
.ksc-open-badge { background:#dcfce7; color:#166534; }
.ksc-waitlist-badge { background:#fef3c7; color:#d97706; }
.ksc-session-option.ksc-waitlist { border-color:#fde68a; background:#fffbeb; }

/* ── 會員中心課程頁 ── */
.ksc-member-wrap { max-width:700px; }
.ksc-enrollment-card { background:#fff; border:1.5px solid #e5e7eb; border-radius:12px; padding:16px 18px; margin-bottom:10px; }
.ksc-enrollment-card.ksc-past { opacity:.75; }
.ksc-enroll-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.ksc-enroll-course { font-size:15px; font-weight:700; color:#1e1b4b; margin-bottom:4px; }
.ksc-enroll-meta { font-size:13px; color:#888; }
.ksc-status-badge { display:inline-block; padding:4px 12px; border-radius:99px; font-size:12px; font-weight:700; white-space:nowrap; }
.ksc-enroll-actions { display:flex; gap:8px; margin-top:12px; padding-top:10px; border-top:1px solid #f3f4f6; }
.ksc-btn-qr, .ksc-btn-leave { background:#ede9fe; color:#4338ca; border:none; padding:7px 14px; border-radius:8px; font-size:13px; cursor:pointer; font-weight:600; }
.ksc-btn-qr:hover, .ksc-btn-leave:hover { background:#ddd6fe; }
.ksc-qr-box { padding:16px 0; }
.ksc-leave-form { margin-top:12px; padding:14px; background:#f9fafb; border-radius:8px; }

/* ── 方案商品課程綁定選擇器 ── */
.ksc-bundle-selector { margin:20px 0; }
.ksc-bundle-course-block {
    border:1.5px solid #e5e7eb; border-radius:10px;
    padding:14px 16px; margin-bottom:14px;
    background:#fff;
}
.ksc-bundle-course-title {
    font-size:15px; font-weight:700; color:#1e1b4b;
    margin-bottom:10px; padding-bottom:8px;
    border-bottom:1px solid #ede9fe;
    display:flex; align-items:center; gap:8px;
}
.ksc-pts-badge {
    background:#ede9fe; color:#6c63ff;
    font-size:12px; font-weight:600;
    padding:2px 9px; border-radius:99px;
}

/* ── 多天時段 ── */
.ksc-session-day { display:flex; align-items:center; gap:6px; margin-bottom:3px; }
.ksc-session-day .ksc-session-date { font-weight:600; }

/* ── 手風琴課程選擇器 ── */
.ksc-accordion-course { border:1.5px solid #e5e7eb; border-radius:10px; margin-bottom:10px; overflow:hidden; }
.ksc-accordion-head {
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 16px; background:#f9fafb; cursor:pointer;
    user-select:none;
}
.ksc-accordion-head:hover { background:#f3f4f6; }
.ksc-accordion-head-title { font-size:15px; font-weight:700; color:#1e1b4b; }
.ksc-accordion-head-meta { font-size:13px; color:#9ca3af; }
.ksc-accordion-arrow { font-size:14px; color:#9ca3af; transition:transform .2s; }
.ksc-accordion-body { display:none; padding:12px 14px; border-top:1px solid #e5e7eb; }
.ksc-accordion-body.open { display:block; }
.ksc-accordion-course.active .ksc-accordion-arrow { transform:rotate(180deg); }
