/* BIYC Registration — Frontend Styles */

.biyc-registration-wrap {
    max-width: 720px;
    margin: 0 auto;
    font-family: inherit;
}

/* Event header */
.biyc-event-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #1a3c6e;
}
.biyc-event-name { margin-top: 0; color: #1a3c6e; }
.biyc-event-description { color: #555; }
.biyc-event-date { color: #555; }

/* Series races */
.biyc-series-races {
    background: #f0f4f9;
    border: 1px solid #c8d9f0;
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 24px;
}
.biyc-series-races h3 { margin-top: 0; color: #1a3c6e; }
.biyc-race-list { margin: 8px 0; padding-left: 20px; }
.biyc-race-list li { margin-bottom: 4px; }
.biyc-series-note { font-style: italic; color: #555; margin-bottom: 0; }

/* Pricing block */
.biyc-pricing-block {
    background: #f0f4f9;
    border-left: 4px solid #1a3c6e;
    padding: 12px 16px;
    margin-bottom: 24px;
    border-radius: 0 4px 4px 0;
}
.biyc-price { margin: 0 0 4px; font-size: 1.1em; }
.biyc-price strong { font-size: 1.4em; color: #1a3c6e; }
.biyc-price-early-bird strong { color: #0a6e3c; }
.biyc-early-bird-ends { margin: 4px 0 0; font-size: 0.9em; color: #555; }
.biyc-price-free strong { color: #0a6e3c; }

/* Form messages */
.biyc-form-messages {
    padding: 12px 16px;
    border-radius: 4px;
    margin-bottom: 16px;
    font-weight: 500;
}
.biyc-alert-error { background: #fce8e8; border: 1px solid #e00; color: #900; }
.biyc-alert-success { background: #e8f5e9; border: 1px solid #0a6; color: #065; }

/* Form fields */
.biyc-fields { margin-bottom: 8px; }
.biyc-field {
    margin-bottom: 18px;
}
.biyc-label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}
.biyc-required {
    color: #c00;
    margin-left: 2px;
}
.biyc-input,
.biyc-select,
.biyc-textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    transition: border-color 0.15s;
}
.biyc-input:focus,
.biyc-select:focus,
.biyc-textarea:focus {
    outline: none;
    border-color: #1a3c6e;
    box-shadow: 0 0 0 2px rgba(26, 60, 110, 0.2);
}
.biyc-field-invalid {
    border-color: #c00 !important;
}
.biyc-field-error {
    display: block;
    color: #c00;
    font-size: 0.875em;
    margin-top: 4px;
}

/* Discount section */
.biyc-discount-section {
    margin-bottom: 24px;
    padding: 16px;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}
.biyc-discount-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.biyc-discount-input { flex: 1; max-width: 240px; }
.biyc-discount-message {
    display: block;
    font-size: 0.9em;
    margin-top: 6px;
}
.biyc-discount-success { color: #0a6e3c; }
.biyc-discount-error { color: #c00; }

/* Waiver */
.biyc-waiver-section {
    margin-bottom: 24px;
}
.biyc-waiver-title { color: #1a3c6e; }
.biyc-waiver-text {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 12px;
    background: #f9f9f9;
    font-size: 0.9em;
    color: #444;
    margin-bottom: 12px;
    line-height: 1.5;
}
.biyc-waiver-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-size: 0.95em;
    font-weight: 600;
}
.biyc-waiver-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Payment */
.biyc-payment-section {
    margin-bottom: 24px;
}
.biyc-payment-title { color: #1a3c6e; }
.biyc-card-container {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 12px;
    background: #fff;
    min-height: 50px;
}

/* Submit */
.biyc-submit-section { margin-top: 24px; }
.biyc-submit-button {
    padding: 12px 32px !important;
    font-size: 16px !important;
    cursor: pointer;
}
.biyc-submit-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.biyc-secure-note {
    font-size: 0.8em;
    color: #777;
    margin-top: 8px;
}

/* Event view page */
.biyc-event-view-wrap { max-width: 960px; margin: 0 auto; font-family: inherit; }
.biyc-event-view-section { margin: 28px 0; }
.biyc-event-view-section h3 { color: #1a3c6e; margin-bottom: 12px; }

.biyc-details-table { width: 100%; border-collapse: collapse; margin-bottom: 0; }
.biyc-details-table th,
.biyc-details-table td { padding: 8px 12px; text-align: left; border-bottom: 1px solid #e5e5e5; vertical-align: top; }
.biyc-details-table th { width: 200px; font-weight: 600; color: #555; white-space: nowrap; }
.biyc-early-bird-note { color: #0a6e3c; font-size: 0.9em; }

.biyc-doc-group { margin-bottom: 16px; }
.biyc-doc-group h4 { margin: 0 0 8px; font-size: 1em; }
.biyc-doc-group h5 { margin: 10px 0 6px; font-size: 0.9em; color: #555; }
.biyc-doc-list { list-style: none; margin: 0; padding: 0; }
.biyc-doc-list li { padding: 4px 0; }
.biyc-doc-link { text-decoration: none; }
.biyc-doc-link:hover { text-decoration: underline; }
.biyc-doc-current,
.biyc-doc-date { font-size: 0.85em; color: #888; margin-left: 6px; }

.biyc-table-responsive { overflow-x: auto; }
.biyc-registrations-table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.biyc-registrations-table th { background: #f0f4f9; color: #1a3c6e; font-weight: 600; padding: 8px 12px; text-align: left; border-bottom: 2px solid #c8d9f0; white-space: nowrap; }
.biyc-registrations-table td { padding: 7px 12px; border-bottom: 1px solid #e8e8e8; }
.biyc-registrations-table tbody tr:hover { background: #f9f9f9; }
.biyc-reg-count-only { color: #555; font-style: italic; }

/* Friendly notice (no active event) */
.biyc-notice {
    padding: 16px 20px;
    background: #f0f4f9;
    border: 1px solid #c8d9f0;
    border-radius: 4px;
    color: #1a3c6e;
}

/* Mobile */
@media (max-width: 480px) {
    .biyc-discount-row { flex-direction: column; align-items: flex-start; }
    .biyc-discount-input { max-width: 100%; }
    .biyc-submit-button { width: 100%; text-align: center; }
    .biyc-waiver-text { max-height: 150px; }
}
