/* Modern Rich Text Editor Styles */

.RichEditor-root-createquestion {
  background: #ffffff;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 15px;
  padding: 0;
  width: 100%;
  min-height: calc(1.5em * 8 + 32px); 
  max-height: none;
  overflow: visible; /* allow dropdowns to escape the container */
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.RichEditor-root-createquestion:hover {
  border-color: #b0b0b0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.RichEditor-root-createquestion:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
  outline: none;
}

/* Editor Toolbar Styling */
.RichEditor-root-createquestion .rdw-editor-toolbar {
  background: #f8f9fa;
  border: none;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 12px 12px 0 0;
  padding: 8px 12px;
  margin-bottom: 0;
  transition: background-color 0.2s ease;
}

.RichEditor-root-createquestion:focus-within .rdw-editor-toolbar {
  background: #f0f4f8;
}

.RichEditor-root-createquestion .rdw-option-wrapper,
.RichEditor-root-createquestion .rdw-dropdown-wrapper {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin: 0 4px;
  transition: all 0.2s ease;
}

.RichEditor-root-createquestion .rdw-option-wrapper:hover,
.RichEditor-root-createquestion .rdw-dropdown-wrapper:hover {
  background: #f0f4f8;
  border-color: #3b82f6;
  box-shadow: 0 2px 4px rgba(59, 130, 246, 0.15);
}

.RichEditor-root-createquestion .rdw-option-active {
  background: #3b82f6;
  color: #ffffff;
  border-color: #3b82f6;
}

.RichEditor-root-createquestion .rdw-option-active:hover {
  background: #2563eb;
}

/* Editor Content Area */
.RichEditor-root-createquestion .DraftEditor-root {
  padding: 16px;
  min-height: calc(1.5em * 3); /* 3 lines of text */
  max-height: none;
}

.RichEditor-root-createquestion .DraftEditor-editorContainer {
  overflow-y: auto;
  max-height: 600px;
  transition: max-height 0.3s ease;
}

.RichEditor-root-createquestion .public-DraftEditor-content {
  min-height: calc(1.5em * 3); /* 3 lines */
  line-height: 1.5;
  color: #1a1a1a;
}

/* Placeholder Styling */
.RichEditor-root-createquestion .public-DraftEditorPlaceholder-root {
  color: #9ca3af;
  padding: 16px;
  font-style: italic;
}

/* Auto-expand on content */
.RichEditor-root-createquestion .public-DraftEditor-content[contenteditable="true"] {
  min-height: calc(1.5em * 3);
}

/* Scrollbar Styling for Modern Look */
.RichEditor-root-createquestion .DraftEditor-editorContainer::-webkit-scrollbar {
  width: 8px;
}

.RichEditor-root-createquestion .DraftEditor-editorContainer::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

.RichEditor-root-createquestion .DraftEditor-editorContainer::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 10px;
  transition: background 0.3s ease;
}

.RichEditor-root-createquestion .DraftEditor-editorContainer::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

/* Dropdown Menus */
.RichEditor-root-createquestion .rdw-dropdown-optionwrapper {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.RichEditor-root-createquestion .rdw-dropdownoption-default {
  padding: 8px 12px;
  transition: background-color 0.2s ease;
}

.RichEditor-root-createquestion .rdw-dropdownoption-default:hover {
  background: #f0f4f8;
}

.RichEditor-root-createquestion .rdw-dropdownoption-active,
.RichEditor-root-createquestion .rdw-dropdownoption-highlighted {
  background: #e0f2fe;
  color: #1e40af;
}

/* Color Picker Modal */
.rdw-colorpicker-modal {
  position: absolute;
  top: 35px;
  left: -20px !important;
  display: flex;
  flex-direction: column;
  width: 220px !important;
  height: 175px;
  border: 1px solid #e0e0e0;
  padding: 15px;
  border-radius: 12px;
  z-index: 100;
  background: white;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Link Popup */
.RichEditor-root-createquestion .rdw-link-modal {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 16px;
}

.RichEditor-root-createquestion .rdw-link-modal-input {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 8px 12px;
  margin-bottom: 8px;
  transition: border-color 0.2s ease;
}

.RichEditor-root-createquestion .rdw-link-modal-input:focus {
  border-color: #3b82f6;
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.RichEditor-root-createquestion .rdw-link-modal-btn {
  background: #3b82f6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-weight: 500;
}

.RichEditor-root-createquestion .rdw-link-modal-btn:hover {
  background: #2563eb;
}

.RichEditor-root-createquestion .rdw-link-modal-btn:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}

/* Image Upload */
.RichEditor-root-createquestion .rdw-image-modal {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 16px;
}

/* clean, modern header tabs for file/url selection */
.RichEditor-root-createquestion .rdw-image-modal-header {
  display: flex;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 12px;
}

.RichEditor-root-createquestion .rdw-image-modal-header-option {
  flex: 1;
  padding: 8px 12px;
  text-align: center;
  cursor: pointer;
  color: #4b5563;
  background: transparent; /* remove default blue */
  font-weight: 500;
  transition: background 0.2s ease;
}

.RichEditor-root-createquestion .rdw-image-modal-header-option:hover {
  background: #f3f4f6;
}

/* highlight underline state rather than full background */
.RichEditor-root-createquestion .rdw-image-modal-header-label-highlighted {
  color: #3b82f6;
  border-bottom: 2px solid #3b82f6;
  background: transparent !important;
}

/* prevent any inherited .rdw-option-active blue backgrounds */
.RichEditor-root-createquestion .rdw-image-modal-header-option.rdw-option-active {
  background: transparent !important;
}

/* Embedded Content */
.RichEditor-root-createquestion .rdw-embedded-modal {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  padding: 16px;
}

/* Text Alignment */
.RichEditor-root-createquestion .public-DraftStyleDefault-block {
  margin: 0.5em 0;
}

/* Lists Styling */
.RichEditor-root-createquestion .public-DraftStyleDefault-ul,
.RichEditor-root-createquestion .public-DraftStyleDefault-ol {
  margin: 0.5em 0;
  padding-left: 1.5em;
}

.RichEditor-root-createquestion .public-DraftStyleDefault-unorderedListItem,
.RichEditor-root-createquestion .public-DraftStyleDefault-orderedListItem {
  margin-bottom: 0.25em;
}

/* Code Block Styling */
.RichEditor-root-createquestion .public-DraftStyleDefault-pre {
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
  font-size: 13px;
  overflow-x: auto;
  margin: 0.5em 0;
}

/* Blockquote Styling */
.RichEditor-root-createquestion .public-DraftStyleDefault-blockquote {
  border-left: 4px solid #3b82f6;
  background: #f0f4f8;
  padding: 12px 16px;
  margin: 0.5em 0;
  font-style: italic;
  color: #4b5563;
}

/* Responsive adjustments for specific forms */
#edit-questions .RichEditor-root-createquestion,
#create-question .RichEditor-root-createquestion {
  width: 100%;
}

/* Focus effect for better UX */
.RichEditor-root-createquestion.focused {
  min-height: 200px;
}

/* Animation for smooth height transitions */
@keyframes expandEditor {
  from {
    min-height: calc(1.5em * 3 + 32px);
  }
  to {
    min-height: 200px;
  }
}

/* Media Queries for Responsive Design */
@media (max-width: 768px) {
  .RichEditor-root-createquestion {
    font-size: 14px;
  }
  
  .RichEditor-root-createquestion .rdw-editor-toolbar {
    padding: 6px 8px;
  }
  
  .RichEditor-root-createquestion .DraftEditor-root {
    padding: 12px;
  }
}

@media (max-width: 480px) {
  .RichEditor-root-createquestion {
    font-size: 13px;
  }
  
  .RichEditor-root-createquestion .rdw-option-wrapper,
  .RichEditor-root-createquestion .rdw-dropdown-wrapper {
    margin: 0 2px;
  }
}

/* Image / Figure - auto size, float left so text wraps to the right */
.RichEditor-root-createquestion .rdw-image-imagewrapper,
.RichEditor-root-createquestion figure {
  float: left;
  width: auto;
  max-width: 50%;
  padding-right: 24px;
  margin: 0 0 8px 0;
  clear: left;
}

.RichEditor-root-createquestion .rdw-image-imagewrapper img,
.RichEditor-root-createquestion figure img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Clearfix so the float doesn't overflow the editor container */
.RichEditor-root-createquestion [data-contents="true"]::after {
  content: '';
  display: block;
  clear: both;
}
