.passage-annotate-area {
    position: relative;
    user-select: text;
    -webkit-user-select: text;
}

/* listenCheck float:left breaks drag-drop layout in the question column */
.question_area.passage-annotate-area {
    clear: both;
    display: flow-root;
    width: 100%;
    overflow: visible;
    margin-bottom: 16px;
}

.passage-annotate-area .listenCheck,
.passage-annotate-content .listenCheck {
    float: none !important;
    clear: both;
    width: 100%;
    overflow: visible;
    position: relative;
    display: block;
}

.passage-annotate-area .listenCheck form,
.passage-annotate-area .listenCheck .test_response_input,
.passage-annotate-content .listenCheck form,
.passage-annotate-content .listenCheck .test_response_input {
    float: none;
    width: 100%;
    overflow: visible;
}

.passage-annotate-area .listenCheck .row,
.passage-annotate-content .listenCheck .row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    clear: both;
    overflow: visible;
    margin-left: 0;
    margin-right: 0;
}

.passage-annotate-area .listenCheck .drag_drop_inputs,
.passage-annotate-area .listenCheck .drag_drop_values,
.passage-annotate-content .drag_drop_inputs,
.passage-annotate-content .drag_drop_values {
    float: none !important;
    overflow: visible;
    position: relative;
    min-height: 50px;
}

.passage-annotate-area .listenCheck .drag_drop_values,
.passage-annotate-content .drag_drop_values {
    z-index: 4;
    pointer-events: auto;
}

.passage-annotate-area .listenCheck .possibilityList,
.passage-annotate-content .possibilityList {
    position: relative;
    z-index: 5;
    overflow: visible;
    pointer-events: auto;
}

.passage-annotate-area .drag_drop_values .btn_drag,
.passage-annotate-area .drag_drop_values .draggable,
.passage-annotate-content .drag_drop_values .btn_drag,
.passage-annotate-content .drag_drop_values .draggable {
    pointer-events: auto;
    position: relative;
    z-index: 6;
}

.passage-annotate-area .ListenTest,
.passage-annotate-area .listenCheck,
.passage-annotate-area .test_response_input,
.passage-annotate-area .test_response_input p,
.passage-annotate-area.question_area {
    user-select: text;
    -webkit-user-select: text;
}

.passage-annotate-area input[type="text"],
.passage-annotate-area input[type="number"],
.passage-annotate-area input[type="email"],
.passage-annotate-area input[type="search"],
.passage-annotate-area input.users,
.passage-annotate-area textarea,
.passage-annotate-area select {
    user-select: text;
    -webkit-user-select: text;
}

.passage-annotate-area .pa-highlight-text,
.passage-annotate-area .contentWrapper.pa-highlight-text,
.passage-annotate-area .questions_accordions .accordion-button,
.passage-annotate-area .question_box p,
.passage-annotate-area .test_response_input p {
    user-select: text !important;
    -webkit-user-select: text !important;
    cursor: text;
}

/* Fill-in-the-blank tables: allow text selection beside inline inputs */
.passage-annotate-area .fill_blanks_section,
.passage-annotate-area .table-responsive.fill_blanks_section,
.passage-annotate-area .fill_blanks_section table,
.passage-annotate-area .fill_blanks_section thead,
.passage-annotate-area .fill_blanks_section tbody,
.passage-annotate-area .fill_blanks_section tr,
.passage-annotate-area .fill_blanks_section th,
.passage-annotate-area .fill_blanks_section td,
.passage-annotate-area .fill_blanks_section p,
.passage-annotate-area .fill_blanks_section span,
.passage-annotate-area .fill_blanks_section li {
    user-select: text !important;
    -webkit-user-select: text !important;
}

.passage-annotate-area .fill_blanks_section input[type="text"],
.passage-annotate-area .fill_blanks_section input.users,
.passage-annotate-content .fill_blanks_section input[type="text"],
.passage-annotate-content .fill_blanks_section input.users {
    user-select: text;
    -webkit-user-select: text;
    pointer-events: auto !important;
    cursor: text;
    position: relative;
    z-index: 3;
    background: transparent;
}

.passage-annotate-area .fill_blanks_section td,
.passage-annotate-content .fill_blanks_section td,
.passage-annotate-area .fill_blanks_section p,
.passage-annotate-content .fill_blanks_section p {
    position: relative;
    z-index: 1;
}

.passage-annotate-area .fill_blanks_section .passage-highlight,
.passage-annotate-content .fill_blanks_section .passage-highlight {
    cursor: pointer;
    position: relative;
    z-index: 1;
}

/* Radio options: circle click area separate from highlight text */
.passage-annotate-area .form-check .pa-radio-option,
.listenCheck .form-check .pa-radio-option {
    position: relative;
    list-style: none;
    padding-left: 2rem;
    margin-bottom: 8px;
    min-height: 1.5rem;
}

.passage-annotate-area .form-check .pa-radio-hit,
.listenCheck .form-check .pa-radio-hit {
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 100%;
    min-height: 1.5rem;
    margin: 0;
    padding: 0;
    cursor: pointer;
    z-index: 4;
    display: block;
}

.passage-annotate-area .form-check .pa-radio-hit input[type="radio"],
.passage-annotate-area .form-check .pa-radio-hit input[type="checkbox"],
.listenCheck .form-check .pa-radio-hit input[type="radio"],
.listenCheck .form-check .pa-radio-hit input[type="checkbox"],
.question_area.passage-annotate-area .form-check input[type="radio"],
.question_area.passage-annotate-area .form-check input[type="checkbox"] {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 4px 0 0 2px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 5 !important;
    user-select: none;
    -webkit-user-select: none;
}

.passage-annotate-area .form-check .pa-highlight-text,
.listenCheck .form-check .pa-highlight-text {
    display: block;
    position: relative;
    z-index: 1;
    padding-left: 0;
    cursor: text;
}

.passage-annotate-area input.passage-highlight,
.passage-annotate-area textarea.passage-highlight {
    background-color: #fff59d !important;
    box-shadow: inset 0 -2px 0 #f9a825;
}

.passage-annotate-area input.passage-highlight.passage-has-note,
.passage-annotate-area textarea.passage-highlight.passage-has-note {
    background-color: #ffaa82 !important;
    box-shadow: inset 0 -2px 0 #ef6c00;
}

.passage-annotate-area .questions_accordions .accordion-button .control {
    user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
}

.passage-annotate-area.read_passage_section {
    max-height: 700px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    user-select: text !important;
    -webkit-user-select: text !important;
}

.passage-annotate-area.read_passage_section .passage-annotate-content,
.passage-annotate-area.read_passage_section .drag_drop_inputs,
.passage-annotate-content .drag_drop_inputs p,
.passage-annotate-content .drag_drop_inputs td,
.passage-annotate-content .drag_drop_inputs th,
.passage-annotate-content .drag_drop_inputs li,
.passage-annotate-content .drag_drop_inputs span:not(.dropzone):not(.response_container) {
    user-select: text !important;
    -webkit-user-select: text !important;
    cursor: text;
}

.passage-annotate-content {
    overflow: visible;
}

/* Description / passage body — keep original reading styles inside annotate wrapper */
.passage-annotate-area.read_passage_section .passage-annotate-content,
.passage-annotate-content .drag_drop_inputs {
    font-size: inherit;
    color: inherit;
}

.passage-annotate-content p,
.passage-annotate-area.read_passage_section .passage-annotate-content p {
    font-size: 14px;
}

.passage-annotate-content .drag_drop_inputs .dropzone,
.passage-annotate-content .drag_drop_inputs .response_container {
    pointer-events: auto;
}

/* Drag-and-drop interactive pieces only — not the whole passage wrapper */
.passage-annotate-area .draggable,
.passage-annotate-area .btn_drag,
.passage-annotate-content .draggable,
.passage-annotate-content .btn_drag,
.passage-annotate-area .dropzone,
.passage-annotate-content .dropzone,
.passage-annotate-area .response_container,
.passage-annotate-content .response_container,
.passage-annotate-area .drag_drop_values,
.passage-annotate-content .drag_drop_values,
.passage-annotate-area .possibilityList,
.passage-annotate-content .possibilityList {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-touch-callout: none;
}

.passage-annotate-area .btn_drag,
.passage-annotate-area .draggable,
.passage-annotate-content .btn_drag,
.passage-annotate-content .draggable {
    cursor: grab;
}

.passage-annotate-area .as-sortable-drag,
.passage-annotate-content .as-sortable-drag {
    z-index: 10060 !important;
    cursor: grabbing;
    pointer-events: none !important;
}

.passage-annotate-area .passage-highlight {
    padding: 2px 0;
    margin: 0 1px;
    border-radius: 2px;
    background-color: #fff59d;
    border-bottom: 2px solid #f9a825;
    cursor: pointer;
}

.passage-annotate-area .passage-highlight.passage-has-note {
    background-color: #ffaa82;
    border-bottom-color: #ef6c00;
}

.passage-annotate-area .passage-highlight.passage-has-note::after {
    content: " \25CF";
    color: #ef6c00;
    font-size: 10px;
    vertical-align: super;
}

.passage-annotate-area .questions_accordions .accordion-button,
.passage-annotate-area .questions_accordions .accordion-header {
    position: relative;
    z-index: 2;
}

.passage-annotate-toolbar,
.passage-annotate-note-panel {
    position: fixed;
    z-index: 10050;
    display: none;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    padding: 6px;
}

.passage-annotate-toolbar {
    white-space: nowrap;
}

.passage-annotate-toolbar .btn {
    margin-right: 4px;
}

.passage-annotate-toolbar .btn:last-child {
    margin-right: 0;
}

.passage-annotate-note-panel {
    width: 260px;
}

.passage-annotate-note-panel .pa-note-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 4px;
}

.passage-annotate-note-panel .pa-note-input {
    font-size: 13px;
    resize: vertical;
    min-height: 70px;
}

.passage-annotate-note-panel .pa-note-actions {
    margin-top: 6px;
    text-align: right;
}

.passage-annotate-note-panel .pa-note-actions .btn {
    margin-left: 4px;
}

.passage-annotate-view .passage-highlight {
    padding: 2px 0;
    margin: 0 1px;
    border-radius: 2px;
    background-color: #fff59d;
    border-bottom: 2px solid #f9a825;
}

.passage-annotate-view .passage-highlight.passage-has-note {
    background-color: #ffaa82;
    border-bottom-color: #ef6c00;
    cursor: help;
}

.passage-annotate-view .passage-highlight.passage-has-note::after {
    content: " \25CF";
    color: #ef6c00;
    font-size: 10px;
    vertical-align: super;
}
