.wcr-availability-display {
    margin: 0 0 0.75em 0;
    font-weight: 600;
    color: #2271b1;
}

.wcr-availability-display:empty {
    display: none;
}

.wcr-availability-display.wcr-sold-out {
    color: #b32d2e;
}

/* ── Day picker ("let students pick individual days") ────────────────────── */

.wcr-day-strip {
    margin: 1.25em 0;
    padding: 1.25em;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.wcr-day-strip-heading {
    margin: 0 0 0.2em 0;
    font-size: 1.05em;
    font-weight: 700;
}

.wcr-day-strip-subheading {
    margin: 0 0 1em 0;
    color: #666;
    font-size: 0.9em;
}

.wcr-day-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em;
}

.wcr-day-chip {
    display: flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.5em 0.9em;
    border: 1px solid #ccc;
    border-radius: 999px;
    background: #fff;
    font-size: 0.92em;
    cursor: pointer;
}

.wcr-day-chip:has(.wcr-day-checkbox:checked) {
    border-color: #96588a;
    background: rgba(150, 88, 138, 0.08);
}

.wcr-day-chip input.wcr-day-checkbox {
    margin: 0;
}

.wcr-day-chip-full {
    opacity: 0.55;
    cursor: not-allowed;
}

.wcr-day-strip-price {
    margin: 0.85em 0 0 0;
    font-weight: 600;
    color: #2271b1;
}

.wcr-day-strip-error {
    margin: 0.6em 0 0 0;
    color: #b32d2e;
    font-size: 0.88em;
    font-weight: 600;
}

.wcr-student-fields {
    margin: 1.25em 0;
    padding: 1.25em;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.wcr-heading {
    margin: 0 0 0.4em 0;
    font-size: 1.05em;
    font-weight: 700;
}

.wcr-note {
    margin: 0 0 1em 0;
    color: #666;
    font-size: 0.9em;
}

.wcr-student-row {
    display: flex;
    align-items: center;
    gap: 0.75em;
    margin-bottom: 0.75em;
    flex-wrap: wrap;
}

.wcr-student-label {
    font-weight: 600;
    min-width: 5em;
    white-space: nowrap;
}

.wcr-student-row-main {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    flex: 1;
    min-width: 0;
}

.wcr-saved-select-wrap select.wcr-saved-select {
    width: 100%;
    max-width: 320px;
    padding: 0.5em 0.75em;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 0.95em;
    background: #fff;
    box-sizing: border-box;
}

.wcr-saved-select-wrap select.wcr-saved-select:focus {
    border-color: #96588a;
    outline: none;
    box-shadow: 0 0 0 2px rgba(150, 88, 138, 0.15);
}

.wcr-student-inputs {
    display: flex;
    gap: 0.5em;
    flex: 1;
    flex-wrap: wrap;
}

.wcr-student-inputs input[type="text"],
.wcr-student-inputs input[type="date"] {
    flex: 1;
    min-width: 130px;
    padding: 0.5em 0.75em;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1em;
    box-sizing: border-box;
}

.wcr-student-inputs input.wcr-dob {
    flex: 0 1 150px;
    min-width: 130px;
}

.wcr-student-inputs input[type="text"]:focus,
.wcr-student-inputs input[type="date"]:focus {
    border-color: #96588a;
    outline: none;
    box-shadow: 0 0 0 2px rgba(150, 88, 138, 0.15);
}

.wcr-remember-label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.88em;
    color: #555;
    font-weight: 400;
    cursor: pointer;
}

.wcr-remember-label input[type="checkbox"] {
    margin: 0;
}

@media (max-width: 480px) {
    .wcr-student-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .wcr-student-row-main {
        width: 100%;
    }
    .wcr-student-inputs {
        width: 100%;
    }
    .wcr-student-inputs input[type="text"],
    .wcr-student-inputs input[type="date"] {
        width: 100%;
        min-width: 0;
    }
    .wcr-saved-select-wrap select.wcr-saved-select {
        max-width: 100%;
    }
}

/* ── My Account: "My Students" tab ───────────────────────────────────────── */

.wcr-account-students .wcr-saved-students-list {
    margin-bottom: 1.5em;
}

.wcr-account-students .wcr-saved-student-row {
    display: flex;
    align-items: center;
    gap: 0.5em;
    flex-wrap: wrap;
    padding: 0.6em 0;
    border-bottom: 1px solid #eee;
}

.wcr-account-students .wcr-add-student-row {
    border-bottom: none;
    padding-top: 0.25em;
}

.wcr-account-students .wcr-saved-student-row input[type="text"],
.wcr-account-students .wcr-saved-student-row input[type="date"] {
    flex: 1;
    min-width: 110px;
    padding: 0.5em 0.75em;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1em;
    box-sizing: border-box;
}

.wcr-account-students .wcr-saved-student-row input[name="dob"] {
    flex: 0 1 160px;
    min-width: 140px;
}

.wcr-account-students .wcr-delete-student {
    color: #a00;
    background: none;
    border: none;
    text-decoration: underline;
    cursor: pointer;
    padding: 0.5em;
}

/* ── My Account: "My Student Receipts" tab ───────────────────────────────── */

.wcr-receipts-filter {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 1.5em;
}

.wcr-receipts-filter select {
    padding: 0.5em 0.75em;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1em;
    background: #fff;
}

.wcr-receipts-student-heading {
    margin: 1.5em 0 0.5em;
    font-size: 1.05em;
    font-weight: 700;
}

.wcr-receipts-student-heading:first-of-type {
    margin-top: 0;
}

.wcr-receipt-rows {
    margin-bottom: 0.5em;
}

.wcr-receipt-row {
    padding: 0.6em 0;
    border-bottom: 1px solid #eee;
}

.wcr-receipt-product {
    font-size: 1em;
}

.wcr-receipt-variation,
.wcr-receipt-event-date {
    color: #666;
    font-size: 0.9em;
    font-weight: 400;
}

.wcr-receipt-meta {
    margin-top: 0.2em;
    color: #666;
    font-size: 0.88em;
}

.wcr-receipt-meta a {
    color: #96588a;
}

.wcr-receipts-pagination {
    display: flex;
    align-items: center;
    gap: 1em;
    margin-top: 1.5em;
}

.wcr-receipts-page-info {
    color: #666;
    font-size: 0.9em;
}

/* ── Express checkout gate ───────────────────────────────────────────────────
   Hide the Stripe button containers until student names are saved.
   display:none !important beats Stripe's inline style="display:block" via
   specificity, and physically removes the element so compositing-layer
   buttons (GPay, Apple Pay) cannot receive clicks.
   JS adds .wcr-express-ready to show the containers once the AJAX save
   succeeds (WC session populated), and removes it to re-hide them.
   ───────────────────────────────────────────────────────────────────────── */

#wc-stripe-express-checkout-element:not(.wcr-express-ready),
#wc-stripe-payment-request-wrapper:not(.wcr-express-ready) {
    display: none !important;
}

.wcr-express-locked-msg {
    margin: 0.35em 0 0.5em;
    padding: 0.4em 0.8em;
    background: #fff8e1;
    border: 1px solid #f9a825;
    border-radius: 4px;
    font-size: 0.82em;
    font-weight: 600;
    color: #5d4200;
    text-align: center;
}
