/* Customer product page widget */
.wccb-booking-widget {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 20px;
    background: #fafafa;
}

.wccb-booking-widget h3 {
    margin-top: 0;
}

.wccb-booking-widget .wccb-field {
    margin-bottom: 12px;
}

.wccb-booking-widget label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.wccb-booking-widget select {
    width: 100%;
    max-width: 360px;
}

.wccb-mode {
    font-size: 13px;
    color: #555;
}

.wccb-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.wccb-slot-card {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #fff;
}

.wccb-slot-card:hover {
    border-color: #999;
}

.wccb-slot-card.wccb-selected {
    border-color: #2271b1;
    background: #eaf2fa;
}

.wccb-slot-card.wccb-disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.wccb-slot-time {
    font-weight: 600;
}

.wccb-slot-schedule {
    font-size: 11px;
    color: #777;
}

.wccb-slot-sessions {
    font-size: 11px;
    color: #999;
}

.wccb-warning {
    color: #a00;
    font-size: 13px;
}

.wccb-batch-level {
    background: #eef2f7;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 11px;
    color: #333;
}

.wccb-available {
    color: #2a8f2a;
    font-size: 12px;
}

.wccb-sold-out {
    color: #c00;
    font-size: 12px;
    font-weight: 600;
}

/* Admin / vendor dashboard batch manager */
.wccb-batch-manager {
    border-top: 1px solid #eee;
    margin-top: 16px;
    padding-top: 16px;
}

.wccb-batch-row {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 12px;
    margin-bottom: 14px;
    background: #fff;
}

.wccb-batch-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.wccb-batch-type {
    color: #666;
    font-size: 12px;
}

.wccb-batch-dates {
    color: #888;
    font-size: 12px;
}

.wccb-slot-table {
    margin-bottom: 8px;
}

.wccb-add-slot-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.wccb-add-slot-row input[type="time"],
.wccb-add-slot-row input[type="number"] {
    max-width: 120px;
}

.wccb-inline-batch-form,
.wccb-batch-form-template,
.wccb-batch-edit-form,
.wccb-slot-edit-form {
    border: 1px dashed #ccc;
    padding: 12px;
    margin-bottom: 12px;
    background: #fdfdfd;
}

.wccb-days-of-week-wrap .wccb-day-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    box-sizing: border-box;
    padding: 5px 10px;
    margin: 0 6px 6px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-weight: normal;
    font-size: 13px;
    cursor: pointer;
    position: static !important;
}

.wccb-day-checkbox input[type="checkbox"] {
    width: auto !important;
    height: auto !important;
    margin: 0;
}

.wccb-day-checkbox {
    display: inline-block;
    margin-right: 10px;
    font-weight: normal;
}

.wccb-seller-manage-bookings {
    max-width: 720px;
}

.wccb-seller-manage-bookings select#wccb-my-product-select {
    width: 100%;
    max-width: 420px;
    margin-top: 4px;
}

.wccb-product-settings-form {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 14px;
    margin: 14px 0;
    background: #fff;
}

.wccb-product-settings-form label {
    font-weight: 600;
    display: block;
    margin-bottom: 3px;
}

.wccb-product-settings-form input[type="text"],
.wccb-product-settings-form input[type="date"] {
    width: 100%;
    max-width: 320px;
}

.wccb-wcfm-panel {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 2px solid #eee;
}

.wccb-debug-box {
    background: #fff8e1;
    border: 1px dashed #d9a441;
    padding: 10px 14px;
    margin-top: 10px;
    font-size: 12px;
}

.wccb-debug-box code {
    background: #fff;
    padding: 1px 4px;
}

.wccb-bookings-table {
    width: 100%;
    border-collapse: collapse;
}
    width: 100%;
    border-collapse: collapse;
}

.wccb-bookings-table th,
.wccb-bookings-table td {
    border: 1px solid #e0e0e0;
    padding: 6px 10px;
    text-align: left;
    font-size: 13px;
}

/* Off-day / holiday calendar */
.wccb-seller-holidays {
    max-width: 760px;
}

.wccb-holiday-add {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 12px 0;
    padding: 12px;
    border: 1px dashed #ccc;
    background: #fdfdfd;
}

.wccb-holiday-add input[type="text"] {
    min-width: 180px;
}

.wccb-holiday-list {
    margin-top: 12px;
}

/* Checkout OTP verification */
.wccb-otp-box {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 14px;
    margin: 16px 0;
    background: #fafafa;
}

.wccb-otp-box h4 {
    margin: 0 0 6px;
}

.wccb-otp-entry {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
}

.wccb-otp-code {
    max-width: 140px;
    letter-spacing: 3px;
    text-align: center;
}

.wccb-otp-message {
    margin-top: 8px;
    font-size: 13px;
    min-height: 1em;
}

.wccb-otp-error {
    color: #c00;
}

.wccb-otp-success {
    color: #2a8f2a;
}

.wccb-otp-box[data-verified="1"] {
    border-color: #2a8f2a;
    background: #f3faf3;
}

.wccb-days-of-week-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #777;
}
