/*
 * app.css — Blazor infrastructure overrides only.
 * All brand/design styles live in css/mastercast.css.
 */

/* Blazor error boundary — keep functional but restyle */
.blazor-error-boundary {
    background: var(--mc-bg-surface, #0d0d0d);
    border: 1px solid var(--mc-crimson, #880000);
    border-left-width: 4px;
    padding: 1rem 1rem 1rem 1.5rem;
    color: var(--mc-off-white, #EFF1F5);
    border-radius: 8px;
}

.blazor-error-boundary::after {
    content: "An unhandled error has occurred. Please reload the page.";
    font-size: 0.9rem;
}

/* Blazor error UI banner */
#blazor-error-ui {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.75rem 1.5rem;
    background: var(--mc-crimson, #880000);
    color: #fff;
    font-size: 0.875rem;
    z-index: 10000;
    text-align: center;
}

#blazor-error-ui .reload { color: #fff; font-weight: 600; margin-left: 0.5rem; }
#blazor-error-ui .dismiss { cursor: pointer; margin-left: 1rem; opacity: 0.7; }
#blazor-error-ui .dismiss:hover { opacity: 1; }

/* Blazor form validation (override bootstrap colors) */
.darker-border-checkbox.form-check-input { border-color: var(--mc-border, rgba(212,164,61,0.3)); }

.mc-richtext-renderer {
    margin: .75rem 0 0;
    padding: 0;
}

.mc-richtext-renderer p {
    margin: 0 0 1rem;
    line-height: 1.75;
}

.mc-richtext-renderer h2,
.mc-richtext-renderer h3,
.mc-richtext-renderer h4 {
    margin: 1rem 0 .5rem;
}

.mc-richtext-renderer ul,
.mc-richtext-renderer ol {
    margin: 0 0 1rem 1.25rem;
}

.mc-richtext-renderer,
.mc-richtext-renderer * {
    background-color: transparent !important;
}

.mc-richtext-renderer * {
    color: inherit;
}

/* TinyMCE chrome themed to MasterCast tokens */
.mc-richtext-editor-wrap .tox {
    border: 1px solid var(--mc-border, rgba(212, 164, 61, 0.3)) !important;
    border-radius: 8px !important;
    background: var(--mc-bg-card, rgba(255,255,255,0.04)) !important;
    color: var(--mc-text, #EFF1F5) !important;
}

.mc-richtext-editor-wrap .tox .tox-editor-header,
.mc-richtext-editor-wrap .tox .tox-toolbar-overlord,
.mc-richtext-editor-wrap .tox .tox-toolbar,
.mc-richtext-editor-wrap .tox .tox-menubar {
    background: var(--mc-bg-surface, #0d0d0d) !important;
    border-color: var(--mc-border, rgba(212, 164, 61, 0.3)) !important;
}

.mc-richtext-editor-wrap .tox .tox-mbtn,
.mc-richtext-editor-wrap .tox .tox-tbtn,
.mc-richtext-editor-wrap .tox .tox-statusbar,
.mc-richtext-editor-wrap .tox .tox-statusbar a {
    color: var(--mc-text, #EFF1F5) !important;
}

.mc-richtext-editor-wrap .tox .tox-tbtn svg,
.mc-richtext-editor-wrap .tox .tox-mbtn__select-label,
.mc-richtext-editor-wrap .tox .tox-tbtn__select-label {
    fill: var(--mc-text, #EFF1F5) !important;
    color: var(--mc-text, #EFF1F5) !important;
}

.mc-richtext-editor-wrap .tox .tox-tbtn:hover,
.mc-richtext-editor-wrap .tox .tox-mbtn:hover,
.mc-richtext-editor-wrap .tox .tox-tbtn--enabled,
.mc-richtext-editor-wrap .tox .tox-tbtn--enabled:hover {
    background: rgba(212, 164, 61, 0.2) !important;
    color: var(--mc-gold, #D4A43D) !important;
}

.mc-richtext-editor-wrap .tox .tox-statusbar {
    background: var(--mc-bg-surface, #0d0d0d) !important;
    border-top: 1px solid var(--mc-border, rgba(212, 164, 61, 0.3)) !important;
}

.mc-richtext-editor-wrap .tox .tox-tbtn {
    height: 24px !important;
    min-width: 24px !important;
    padding: 0 4px !important;
}

.mc-richtext-editor-wrap .tox .tox-mbtn {
    height: 24px !important;
    padding: 0 6px !important;
}

.mc-richtext-editor-wrap .tox .tox-toolbar,
.mc-richtext-editor-wrap .tox .tox-toolbar__group {
    gap: 2px !important;
}

.mc-richtext-editor-wrap .tox .tox-edit-area__iframe {
    background: transparent !important;
}
