/* Quill Editor Custom Styles */

/* Container styling */
.quill-container {
  position: relative;
}

/* Editor styling to match Bootstrap form-control */
.quill-container .ql-container {
  font-family: inherit;
  font-size: inherit;
}

.quill-container .ql-editor {
  max-height: 500px;
  overflow-y: auto;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.1;
  color: #212529;
  background-color: #fff;
}

/* Toolbar styling to match Bootstrap */
.quill-container .ql-toolbar {
  border: 0px solid #ced4da !important;
  border-bottom: none;
  border-radius: 0.25rem 0.25rem 0 0;
  background-color: #f8f9fa;
  padding: 0.5rem;
}

.quill-container .ql-toolbar {
  border: 0px solid #ced4da !important;
  border-bottom: 1px solid #ced4da !important;
  margin-left: 2px;
  margin-right: 2px;
}

.quill-container .ql-container {
  border: 0px solid #ced4da !important;
  border-top: none;
  border-radius: 0 0 0.25rem 0.25rem;
}

/* Focus state */
.quill-container .ql-container.ql-focus,
.quill-container .ql-editor:focus {
  outline: none;
}

.quill-container.focused .ql-toolbar {
  border-color: #86b7fe;
}

.quill-container.focused .ql-container {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Toolbar button styling */
.quill-container .ql-toolbar button {
  width: 28px;
  height: 24px;
  padding: 3px 5px;
  margin-right: 2px;
  border-radius: 0.25rem;
}

.quill-container .ql-toolbar button:hover {
  background-color: #e9ecef;
}

.quill-container .ql-toolbar button.ql-active {
  background-color: #0d6efd;
  color: #fff;
}

.quill-container .ql-toolbar button.ql-active .ql-stroke {
  stroke: #fff;
}

.quill-container .ql-toolbar button.ql-active .ql-fill {
  fill: #fff;
}

/* Dropdown styling */
.quill-container .ql-toolbar select {
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  padding: 2px 5px;
  margin-right: 5px;
}

.quill-container .ql-toolbar select:focus {
  border-color: #86b7fe;
  outline: none;
}

/* Content styles */
.quill-container .ql-editor h1 {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.quill-container .ql-editor h2 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.quill-container .ql-editor h3 {
  font-size: 1.17em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.quill-container .ql-editor ul,
.quill-container .ql-editor ol {
  padding-left: 1.5em;
  margin-bottom: 1em;
}

.quill-container .ql-editor a {
  color: #0d6efd;
  text-decoration: underline;
}

.quill-container .ql-editor strong {
  font-weight: bold;
}

.quill-container .ql-editor em {
  font-style: italic;
}

.quill-container .ql-editor u {
  text-decoration: underline;
}

/* Placeholder styling */
.quill-container .ql-editor.ql-blank::before {
  color: #6c757d;
  font-style: normal;
  left: 0.75rem;
}

/* Remove Quill's default link tooltip */
.quill-container .ql-tooltip {
  z-index: 1050;
}

/* Label + dropdown item text for each custom size */
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='8pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='8pt']::before {
  content: '8pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='9pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='9pt']::before {
  content: '9pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='10pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='10pt']::before {
  content: '10pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='11pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='11pt']::before {
  content: '11pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='12pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='12pt']::before {
  content: '12pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='14pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='14pt']::before {
  content: '14pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='16pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='16pt']::before {
  content: '16pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='18pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='18pt']::before {
  content: '18pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='20pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='20pt']::before {
  content: '20pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='22pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='22pt']::before {
  content: '22pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='24pt']::before {
  content: '24pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='26pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='26pt']::before {
  content: '26pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='28pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='28pt']::before {
  content: '28pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='36pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='36pt']::before {
  content: '36pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='48pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='48pt']::before {
  content: '48pt';
  line-height: 1.1;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='72pt']::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value='72pt']::before {
  content: '72pt';
  line-height: 1.1;
}

/* Preview the actual size in the dropdown list */
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='8pt']::before {
  font-size: 8pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='9pt']::before {
  font-size: 9pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='10pt']::before {
  font-size: 10pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='11pt']::before {
  font-size: 11pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='12pt']::before {
  font-size: 12pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='14pt']::before {
  font-size: 14pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='16pt']::before {
  font-size: 16pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='18pt']::before {
  font-size: 18pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='20pt']::before {
  font-size: 20pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='22pt']::before {
  font-size: 22pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24pt']::before {
  font-size: 24pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='26pt']::before {
  font-size: 26pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='28pt']::before {
  font-size: 28pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='36pt']::before {
  font-size: 36pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='48pt']::before {
  font-size: 48pt;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='72pt']::before {
  font-size: 72pt;
}

/* (Optional) if you want the default label (before selection) to show 16px instead of "Normal" */
.ql-snow .ql-picker.ql-size .ql-picker-label::before {
  content: '16pt';
}

.quill-container .ql-editor {
  max-width: 8.5in; /* Standard US Letter width */
  margin: 0 auto; /* Center it */
  padding: 0in 1in; /* Standard 1 inch margins like Word */
  padding-top: 5px;
  padding-bottom: 5px;
  background: white;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); /* Optional: makes it look like a page */
}

.ql-editor.ql-blank::before {
  padding-left: 1in;
}

.analysis-summary .ql-toolbar.ql-snow {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ccc;
  margin-left: 2px;
  margin-right: 2px;
}

.analysis-summary .ql-container.ql-snow {
  border: none;
}

.quill-display-only .quill-container {
  background-color: var(--bs-secondary-bg);
}

.quill-display-only .quill-container .ql-editor {
  background-color: var(--bs-secondary-bg);
}
