/*
 * SriJova.RCL.OAuthServer — default styles
 *
 * Served at /_content/SriJova.RCL.OAuthServer/srijova-rcl.css
 *
 * Consumer link order:
 *   1. Bootstrap 5
 *   2. Syncfusion theme (e.g. bootstrap5.css)
 *   3. This file (optional — omit for fully unstyled baseline)
 *   4. Consumer's own stylesheet (overrides happen here)
 *
 * CSS variables are read-only contracts. Consumers override by re-declaring
 * on :root or any ancestor of a component.
 */

:root {
    --srijova-rcl-primary-color: var(--bs-primary, #0d6efd);
    --srijova-rcl-error-color: var(--bs-danger, #dc3545);
    --srijova-rcl-success-color: var(--bs-success, #198754);
    --srijova-rcl-text-color: var(--bs-body-color, inherit);
    --srijova-rcl-muted-color: var(--bs-secondary-color, #6c757d);
    --srijova-rcl-bg-color: var(--bs-body-bg, transparent);
    --srijova-rcl-border-color: var(--bs-border-color, #dee2e6);
    --srijova-rcl-spacing-sm: .5rem;
    --srijova-rcl-spacing-md: 1rem;
    --srijova-rcl-spacing-lg: 1.5rem;
    --srijova-rcl-border-radius: var(--bs-border-radius, .375rem);
    --srijova-rcl-font-family: inherit;
    --srijova-rcl-max-width: 480px;
}

/* ----- Block container ----- */
.srijova-rcl {
    font-family: var(--srijova-rcl-font-family);
    color: var(--srijova-rcl-text-color);
    max-width: var(--srijova-rcl-max-width);
    margin: 0 auto;
}

.srijova-rcl-heading {
    font-size: 1.5rem;
    margin-bottom: var(--srijova-rcl-spacing-lg);
}

/* ----- Form regions ----- */
.srijova-rcl .form-label {
    font-weight: 500;
}

.srijova-rcl .invalid-feedback {
    color: var(--srijova-rcl-error-color);
    font-size: .875rem;
    margin-top: .25rem;
}

/* ----- Top-level feedback regions ----- */
.srijova-rcl-error {
    margin-top: var(--srijova-rcl-spacing-md);
    color: var(--srijova-rcl-error-color);
}

.srijova-rcl-success {
    margin-top: var(--srijova-rcl-spacing-md);
    color: var(--srijova-rcl-success-color);
}

.srijova-rcl-delivery-hint {
    color: var(--srijova-rcl-muted-color);
    font-size: .875rem;
    margin-bottom: var(--srijova-rcl-spacing-md);
}

/* ----- Submit button ----- */
.srijova-rcl-submit {
    width: 100%;
    margin-top: var(--srijova-rcl-spacing-md);
}

.srijova-rcl-footer {
    margin-top: var(--srijova-rcl-spacing-md);
    text-align: center;
}

/* ----- Spinner ----- */
.srijova-rcl-spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: -.125em;
    border: .15em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: srijova-rcl-spin .75s linear infinite;
}

@keyframes srijova-rcl-spin {
    to { transform: rotate(360deg); }
}

/* ----- Admin component is wider ----- */
.srijova-rcl-assign-roles {
    max-width: none;
}

.srijova-rcl-assign-roles .srijova-rcl-section {
    margin-bottom: var(--srijova-rcl-spacing-lg);
}

.srijova-rcl-assign-roles .srijova-rcl-section-heading {
    font-size: 1.125rem;
    margin-bottom: var(--srijova-rcl-spacing-md);
    border-bottom: 1px solid var(--srijova-rcl-border-color);
    padding-bottom: .5rem;
}
