:root {
        --font-size-Item: clamp(1.65rem, 4vw, 1.75rem);
        --font-size-Option: clamp(1.3rem, 4vw, 1.5rem);
        --font-weight-Bold: 600;
        --font-weight-Bolder: 700;
        --bg-bas: hsl(208, 72%, 20%);
        --panel: hsl(208, 72%, 15%);
        --bg-int: hsl(173, 75%, 15%);
}

html,
body {
        /* Make the canvas the right color no matter how tall the page gets */
        background-color: var(--bg-bas);
        min-height: 100%;
}

body {
        background-color: var(--bg-bas);
        /*  background-image: url('/img/bg-masthead-short.jpg'); */
        background-size: cover;
        background-repeat: repeat;
        background-position: center;
        height: 100%;
        /* Vignette overlay using multiple backgrounds */
        /*  background-image: 
                radial-gradient(ellipse at center,
                        rgba(0, 0, 0, 0) 50%, */
        /* transparent center */
        /*          rgba(0, 0, 0, 0.4) 100%  */
        /* dark edges */
        /*  ); */
        background-blend-mode: multiply;
        padding-top: 20px;
}

                .short p, .short ul, .short li {
                        line-height: 1.2rem;
                        margin-bottom: 10px !important;
                }
                #app-container {
                        max-width: 700px;
                        /* Max width for the entire app */
                        margin: auto;
                        padding-top: auto;
                }

                /* Ensure display area can grow */
                #display-area {
                        min-height: 630px;
                }

                .fib-input {
                        font-weight: 600;
                        /* width: clamp(175px, 13vw, 295px); */
                        width: clamp(130px, 140px, 145px);
                        height: 35px;
                        display: inline-block;
                        vertical-align: middle;
                        margin: 0px clamp(5px, 2vw, 8px);
                        border: 1px solid hsl(0, 0%, 20%);
                }

                h3,
                h4 {
                        text-wrap: balance;
                }

                /* h4 is also the size of the items*/
                /* match item and fib font-size */
                h4,
                .fib-input {
                        font-size: clamp(1rem, 2vw, 1.2rem);
                        font-weight: 600;
                }

                .text-wrap {
                        text-wrap: balance;
                }

                .answer-option {
                        text-align: left !important;
                        /* Ensure text is aligned left */
                        white-space: normal !important;
                        /* Allow text to wrap */
                        word-wrap: break-word;
                        /* Break long words if necessary */
                        padding: 0.75rem 1.25rem;
                        /* font-size: 1rem; */
                        font-size: clamp(.85rem, 2vw, 1rem);
                        /* make the answers slightly smaller than the items */
                        min-height: 45px;
                        /* Minimum height for bars */
                        display: flex;
                        align-items: center;
                }

                .answer-option.selected {
                        background-color: hsl(208, 77%, 40%);
                        /* Light gray for selected */
                        border-color: #114069;
                        color: white;
                }

                .btn {
                        cursor: pointer;
                        transition: transform 0.4s ease, background-color 0.4s ease;
                }

                .btn:hover,
                .btn:focus {
                        transform: scale(1.03);
                        transition: transform 0.3s ease, background-color 0.3s ease;
                }

                .btn-custom-submit {
                        background-color: #1768ae;
                        border-color: #125087;
                        color: white;
                }

                .btn-custom-submit:hover {
                        background-color: #0e416e;
                        /* Darker shade */
                        border-color: #0d3a61;
                        color: white;
                }

                .btn-custom-assess {
                        background-color: #0d6efd;
                        border-color: #0b5edb;
                        color: #e5f2ff;
                        /* Dark text for light background */
                }

                .btn-custom-assess:hover {
                        background-color: #0a54c3;
                        /* Darker shade */
                        border-color: #0948a6;
                        color: #e5f2ff
                }

                .btn-custom-assess:focus,
                .btn-custom-submit:focus {
                        box-shadow: 0 0 6px 3px #7cb1ff;
                        border-color: #ffffff;
                        background-color: #0a54c3;
                        color: #ffffff;

                }

                #pictureModal .modal-dialog {
                        /* Attempt to make modal width fit content, up to a max */
                        width: auto !important;
                        max-width: clamp(90%, 2vw, 100%);
                        /* Max width relative to viewport or parent if constrained */
                        margin-left: auto;
                        margin-right: auto;
                }

                #pictureModal .modal-content {
                        width: auto;
                        /* Allow content (image) to dictate width */
                        margin-left: auto;
                        margin-right: auto;
                        display: block;
                        /* Important for shrink-wrapping based on content */
                }

                #modalImage {
                        max-width: 100%;
                        /* Image will not exceed modal content's width */
                        max-height: 80vh;
                        /* Limit image height */
                        display: block;
                        /* Removes extra space below image */
                }

                .picture-icon {
                        font-size: 1.5rem;
                        cursor: pointer;
                        color: #0d6efd;
                        /* Bootstrap primary blue */
                }

                .picture-icon:hover {
                        color: #0a58ca;
                }

                /* Style for correct/incorrect messages */
                .correct-message {
                        color: green;
                        font-weight: bold;
                }

                .incorrect-message {
                        color: red;
                        font-weight: bold;
                }

                #kofi-link-container {
                        font-size: 0.9em;
                        font-family: 'Poppins', 'Roboto', 'Arial', Tahoma, sans-serif;
                        padding-top: 10px;
                }

                /* inline blanks, NOT for Fib fields */
                .blank {
                        color: #1d6baf;
                        font-weight: 500;
                        display: inline-block;
                        min-width: 50px;
                        /* width of your blank */
                        border-bottom: 1px solid black;
                        margin: 0px 5px;
                        text-align: center;
                }

                /* Custom for passage image on lesson page */
                .lesson-passage-img {
                        width: calc(10vw + 215px);
                        display: block;
                        margin-left: auto;
                        margin-right: auto;
                }

                .modal-close-btn {
                        color: #333;
                        background: #fff;
                        border-radius: 50%;
                        width: 36px;
                        height: 36px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
                        border: 1px solid #ccc;
                }

                .modal-close-btn:focus {
                        outline: 2px solid #0d6efd;
                        outline-offset: 2px;
                }

                .missed-item-box {
                        border: 1px solid #e0e0e0;
                        border-left: 3px solid #0d6efd;
                        border-radius: 8px;
                        background: #f9f9fc;
                        padding: 1rem 1.25rem;
                        margin-bottom: 1.25rem;
                        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
                }

                .final-score {
                        font-size: 2rem;
                        font-weight: bold;
                        color: #125087;
                        margin-bottom: 1.5rem;
                }

                .lessonType {
                        font-family: 'Poppins', 'Roboto', Arial, Helvetica, sans-serif;
                        font-size: .85rem;
                        font-weight: 300;
                        margin: 0px 0px 10px 0px;
                }

                .card-body p {
                        margin-bottom: 10px;
                }

                .examples {
                        margin-bottom: 25px;
                }

                .examples p {
                        margin-left: 25px;
                        margin-bottom: 15px;
                        font-style: italic;
                        line-height: 1.2rem;
                }