﻿.dark-mode .questionbank-multiple-choice-label {
    color: #f8f9fa;
    /*border-color: #f8f9fa;*/
    border-color: #acacac;
}

.filters-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .filters-container.show-on-right {
        gap: 0.25rem;
    }

    .filters-container.show-on-top {
        gap: 1rem;
        align-items: stretch;
    }

        .filters-container.show-on-top > :first-child {
            display: flex;
            gap: 1rem;
            align-items: baseline;
            flex-wrap: wrap;
        }

            .filters-container.show-on-top > :first-child select {
                width: auto !important;
            }

        .filters-container.show-on-top #questionbank-question-filters {
            flex-direction: row !important;
            gap: 1rem !important;
            align-items: center !important;
            align-self: stretch !important;
        }

        .filters-container.show-on-top > :last-child {
            margin-top: 0 !important;
            align-self: stretch !important;
        }

.btn-group-vertical .questionbank-multiple-choice-label {
    border-radius: 0.3rem;
}

.questionbank-multiple-choice-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.5rem;
}

.questionbank-multiple-choice-label {
    border-width: 3.5px;
    border-radius: 0.5rem !important;
    /*margin-right: 15px;*/
    font-weight: 700;
    color: #343a40;
    border-color: #343a40;
    background-color: transparent;
    font-size: 1.3rem;
}

    .questionbank-multiple-choice-label.active {
        background-color: #343a40;
        color: #ced4da;
    }

.dark-mode .questionbank-multiple-choice-label.active {
    background-color: #ced4da;
    color: #343a40;
}

.questionbank-multiple-choice-label.correct-answer {
    color: #28a745;
    border-color: #28a745;
    opacity: 100;
}

.questionbank-multiple-choice-label.correct-answer-filled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
    opacity: 100;
}

.questionbank-multiple-choice-label.wrong-answer {
    color: #dc3545;
    border-color: #dc3545;
    opacity: 100;
}

.questionbank-multiple-choice-label.wrong-answer-filled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
    opacity: 100;
}

.questionbank-multiple-choice-label:last-child {
    margin-right: 0px;
}

.questionbank-multiple-choice-label:not(.disabled):hover:not(:has(.cross-out-option-btn:hover)) {
    background-color: #343a40;
    color: #ced4da;
}

.dark-mode .questionbank-multiple-choice-label:not(.disabled):hover:not(:has(.cross-out-option-btn:hover)) {
    background-color: #ced4da;
    color: black;
}

.dark-mode .card-questionbank-question {
    background-color: #343a40;
    color: #ced4da;
}

    .dark-mode .card-questionbank-question .badge-dark {
        background-color: #454d55;
        color: #ced4da;
    }

.card-questionbank-question.correct {
    border: 3px solid #28a745 !important;
}

.card-questionbank-question.wrong {
    border: 3px solid #dc3545 !important;
}

.card-questionbank-question.solved {
    border: 3px solid #007bff !important;
}

img {
    /*pointer-events: none;*/
    user-select: none;
}

.ai-btn {
    margin-top: 2px;
    margin-bottom: 2px;
    width: 100%;
}

.ai-dropdown {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    transition: 0.5s all;
}

    .ai-dropdown.show {
        left: 50% !important;
        transform: translateX(-50%) translateY(43px) !important;
    }

.ai-dropdown-btn {
    width: 100%;
    border-radius: 0.5rem;
    border: 3px solid transparent !important;
    background-image: linear-gradient(#1a1a2e, #1a1a2e), linear-gradient(90deg, #00d4ff, #9d4edd, #ff6b35) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
}

    .ai-dropdown-btn.disabled {
        cursor: not-allowed;
    }

    .ai-dropdown-btn:not(.disabled):hover,
    .ai-dropdown-btn:focus {
        background-image: linear-gradient(#1a1a2e, #1a1a2e), linear-gradient(90deg, #00d4ff, #9d4edd, #ff6b35);
        color: white;
        border: 3px solid transparent;
        box-shadow: 0px 0px 12px #001f3f !important;
    }

.multiple-choice-label-cross-out {
    position: relative;
    border-bottom: 3px solid black;
    top: -1rem;
    z-index: 999;
    margin-left: -5px;
    margin-right: -5px;
}

.dark-mode .multiple-choice-label-cross-out {
    border-color: #acacac;
}

.cross-out-btn {
    border-width: 3.5px;
    border-radius: 0.5rem !important;
    font-weight: 700;
    border-color: #343a40;
    background-color: transparent;
    font-size: 1.3rem;
}

.dark-mode .cross-out-btn {
    color: #f8f9fa;
    /*border-color: #f8f9fa;*/
    border-color: #acacac;
}

.cross-out-btn:hover {
    transform: scale(1.1);
}

.fit-content {
    height: fit-content;
}

.ai-header {
    display: flex;
    flex-direction: row;
    margin-bottom: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}



@media screen and (max-width: 767px) {
    .ai-dropdown-btn {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.5;
    }

    .ai-header {
        margin-bottom: 1rem;
        gap: .5rem;
    }

    .ai-btns {
        justify-content: space-between;
        width: 100%;
    }

    .btn-favorite {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.5;
    }
}

@media screen and (min-width: 420px) {
    .ai-btns {
        gap: 1rem;
    }
}

.cross-out-option-btn {
    position: absolute;
    right: 0rem;
    top: -3rem;
    border-radius: 50%;
    /*border-color: darkgray;*/
    box-shadow: 0px 0 7px 2px #6c757d;
}

    .cross-out-option-btn:hover {
        transform: scale(1.1);
    }

    .cross-out-option-btn:not(.d-none) {
        animation: cross-out-btn-appearing 0.5s ease-in-out;
    }

@keyframes cross-out-btn-appearing {
    0% {
        top: 0rem;
    }

    100% {
        top: -3rem;
    }
}

/* MathJax Styles for Generated Questions */
.math-content {
    /* Ensure MathJax renders properly */
    line-height: 1.6;
}

    .math-content .math-display,
    .math-content .math-inline {
        display: inline-block;
        margin: 0.5em 0;
    }

    .math-content .math-display {
        /*display: block;*/
        display: inline-block;
        text-align: center;
        margin: 1em 0;
    }

    /* MathJax SVG rendering styles */
    .math-content .MathJax,
    .math-content .MathJax_SVG {
        display: inline-block;
        vertical-align: middle;
    }

    .math-content .MathJax_Display {
        display: block;
        text-align: center;
        margin: 1em 0;
    }

    /* Ensure proper spacing for math formulas in questions */
    .math-content .question-text .MathJax,
    .math-content .question-text .MathJax_SVG {
        margin: 0 0.2em;
    }

    /* Math formulas in options */
    .math-content .options-container .MathJax,
    .math-content .options-container .MathJax_SVG {
        margin: 0 0.1em;
        vertical-align: baseline;
    }

/* Dark mode support for MathJax */
.dark-mode .math-content .MathJax,
.dark-mode .math-content .MathJax_SVG {
    color: #ced4da;
}

/* Prevent text selection issues with MathJax */
.math-content .MathJax_SVG_Display {
    margin: 1em auto;
    display: block;
}

/* Code block styles for AI solutions */
.math-content pre {
    background-color: #2d2d2d !important;
    color: #f8f8f2 !important;
    padding: 1rem;
    border-radius: 0.5rem;
    overflow-x: auto;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 1rem 0;
    border: 1px solid #444;
}

.math-content code {
    background-color: #f4f4f4;
    color: #d63384;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
}

.math-content pre code {
    background-color: transparent;
    color: inherit;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}

/* Dark mode support for code blocks */
.dark-mode .math-content pre {
    background-color: #1a1a1a !important;
    border-color: #555;
}

.dark-mode .math-content code {
    background-color: #2d2d2d;
    color: #ff79c6;
}

/* List styles in AI solutions */
.math-content ul,
.math-content ol {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.math-content li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

/* Paragraph spacing */
.math-content p {
    margin-bottom: 1rem;
    line-height: 1.7;
}

/* Header styles */
.math-content h3,
.math-content h4,
.math-content h5 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

.math-content h3 {
    font-size: 1.5rem;
}

.math-content h4 {
    font-size: 1.25rem;
}

.math-content h5 {
    font-size: 1.1rem;
}
