/* Make chord diagram editor text non-selectable */
#chordContainer,
.chord-diagram,
.chord-wrapper,
.chord-label,
#chordContainer * {
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	cursor: default;
}

/* Ensure SVG text inside chord diagrams is not selectable */
.chord-diagram svg text {
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
}

/* Also make the entire chord editor panel non-selectable */
#chordEditorDiv,
#chordEditorDiv * {
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	cursor: default;
}

/* Specifically ensure the string-number label row cannot be selected */
#labelRow,
#labelRow td,
#labelRow div {
	-webkit-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	cursor: default;
}

/* Use I-beam cursor for enabled text inputs inside the chord editor */
/* Match plain <input> (no type) as well as text inputs and textareas */
#chordEditorDiv input:not([disabled]),
#chordEditorDiv input[type="text"]:not([disabled]),
#chordEditorDiv textarea:not([disabled]) {
	cursor: text !important;
}
#chordEditorDiv input[disabled],
#chordEditorDiv textarea[disabled] {
	cursor: default !important;
}

/* Buttons inside chord editor: pointer when enabled, default when disabled */
#chordEditorDiv button:not([disabled]),
#chordEditorDiv .chord-button:not([disabled]) {
	cursor: pointer !important;
}
#chordEditorDiv button[disabled],
#chordEditorDiv .chord-button[disabled] {
	cursor: default !important;
}

/* Ensure barre-specific controls override the general input:text rule */
#chordEditorDiv .barre-checkbox-container input[type="checkbox"]:not([disabled]),
#chordEditorDiv .barre-string-checkbox:not([disabled]) {
    cursor: pointer !important;
}

/* Ensure the custom barre dropdown arrows/value use pointer when enabled */
#chordEditorDiv #barreDropdownContainer .string-dropdown-arrow:not(.disabled),
#chordEditorDiv #barreDropdownContainer .string-dropdown-value:not(.disabled),
#chordEditorDiv #barreDropdownMain .string-dropdown-arrow:not(.disabled),
#chordEditorDiv #barreDropdownMain .string-dropdown-value:not(.disabled) {
    cursor: pointer !important;
}

/* Explicitly set pointer for up/down arrow IDs and fallback to default when disabled */
#chordEditorDiv #barreDropdownUp:not(.disabled),
#chordEditorDiv #barreDropdownDown:not(.disabled),
#chordEditorDiv .string-dropdown-arrow:not(.disabled) {
	cursor: pointer !important;
}

#chordEditorDiv #barreDropdownUp.disabled,
#chordEditorDiv #barreDropdownDown.disabled,
#chordEditorDiv .string-dropdown-arrow.disabled {
	cursor: default !important;
}



