/* Scoped content styles; neither the marketing layout nor other Quill editors change. */
.kboodle-faq-answer { overflow-wrap: anywhere; }
.kboodle-faq-answer p { margin: 0 0 1em; }
.kboodle-faq-answer p:last-child { margin-bottom: 0; }
.kboodle-faq-answer ul, .kboodle-faq-answer ol { padding-left: 1.5em; margin: .75em 0; }
.kboodle-faq-answer ul { list-style: disc; }
.kboodle-faq-answer ol { list-style: decimal; }
.kboodle-faq-answer a { text-decoration: underline; }
.kboodle-faq-website .kboodle-faq-category { margin: 1.75em 0 1em; font-size: 1.35em; font-weight: 700; }
.kboodle-faq-website .kboodle-faq-category:first-child { margin-top: 0; }
.kboodle-faq-website .kboodle-faq-entry h3 { margin: 1.2em 0 .5em; font-size: 1em; font-weight: 700; }
/* First-class headings on the accordion surfaces sit outside <details>; keep
   them visually quiet and preserve the existing question/answer treatment. */
.kboodle-faq-list:not(.kboodle-faq-website) > .kboodle-faq-category { margin: 1.25em 1em .35em; font-size: 1.05em; font-weight: 700; color: inherit; }
.kboodle-faq-list:not(.kboodle-faq-website) > .kboodle-faq-category:first-child { margin-top: .75em; }
.kboodle-faq-list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1em; }
.kboodle-faq-list summary::-webkit-details-marker { display: none; }
.kboodle-faq-list summary::after { content: '⌄'; flex-shrink: 0; }
.kboodle-faq-list details[open] > summary::after { transform: rotate(180deg); }
.kboodle-faq-list summary:focus-visible { outline: 2px solid var(--color-primary, #f30072); outline-offset: -2px; }
.kboodle-faq-list summary { min-height: 44px; }
.kb-faq-editor .ql-container { font-family: inherit; font-size: 14px; }
.kb-faq-editor .ql-editor { min-height: 160px; overflow-wrap: anywhere; }
.kb-faq-editor .ql-toolbar { border-radius: 6px 6px 0 0; background: white; }
.kb-faq-editor .ql-container { border-radius: 0 0 6px 6px; background: white; }
.kb-faq-editor button:disabled { cursor: default; opacity: .4; }
.kb-faq-editor .kb-faq-preview-box { overflow-wrap: anywhere; }
.kb-faq-detail > div.flex > div.flex { flex-wrap: wrap; max-width: 100%; min-width: 0; }
.kb-faq-detail button { max-width: 100%; overflow-wrap: anywhere; }
.kb-faq-editor .ql-tooltip { max-width: calc(100vw - 16px); }
.kb-faq-editor button:focus-visible, .kb-faq-editor a:focus-visible { outline: 2px solid var(--color-primary, #f30072); outline-offset: 2px; }
.kb-faq-collection[aria-selected="true"] { box-shadow: inset 0 -2px var(--color-primary, #f30072); }
.kb-faq-handle, .kb-faq-trash-btn { flex: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--color-gray-500, #6b7280); }
.kb-faq-handle { cursor: grab; touch-action: none; border-radius: 6px; }
.kb-faq-handle:hover { background: var(--color-gray-100, #f3f4f6); }
.kb-faq-handle:active, .kb-faq-handle[aria-pressed="true"] { cursor: grabbing; background: var(--color-gray-100, #f3f4f6); }
.kb-faq-toggle { min-height: 44px; overflow-wrap: anywhere; }
.kb-faq-toggle span { white-space: normal; overflow-wrap: anywhere; }
.kb-faq-kind { margin-left: auto; flex: none; font-size: 11px; font-weight: 400; color: var(--color-gray-500, #6b7280); }
.kb-faq-headed-section > .kb-faq-row { background: var(--color-gray-50, #f9fafb); }
.kb-faq-headed-section > .kb-faq-row .kb-faq-toggle { font-weight: 600; }
.kb-faq-section-items { display: flex; flex-direction: column; gap: 8px; min-height: 24px; padding-top: 8px; }
.kb-faq-headed-section .kb-faq-section-items { margin-left: 20px; }
.kb-faq-section-items:empty::after { content: 'Drop FAQs here'; color: var(--color-gray-400, #9ca3af); font-size: 12px; padding: 12px; border: 1px dashed var(--color-gray-200, #e5e7eb); border-radius: 6px; }
.kb-faq-ungrouped:has(.kb-faq-section-items:empty) { margin: 0; }
.kb-faq-ungrouped .kb-faq-section-items:empty { min-height: 8px; padding: 0; }
.kb-faq-ungrouped .kb-faq-section-items:empty::after { display: none; }
.kb-faq-ghost { opacity: .3; }
.kb-faq-chosen { box-shadow: 0 0 0 2px var(--color-primary, #f30072); }
.kb-faq-dragging { opacity: .9; }
.kb-faq-add-actions { max-width: 320px; }
.kb-faq-add-context { flex-basis: 100%; text-align: right; overflow-wrap: anywhere; }
.kb-faq-editor select { max-width: 100%; }
.kb-faq-restore { min-height: 44px; }
@media (max-width: 639px) {
    /* iOS zooms focused text controls below 16px; keep the viewport stable. */
    .kb-faq-editor input, .kb-faq-editor textarea, .kb-faq-editor select, .kb-faq-editor .ql-editor { font-size: 16px; }
    .kb-faq-editor .ql-toolbar .ql-formats { margin-right: 4px; }
    .kb-faq-editor .ql-toolbar button { min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
    .kb-faq-editor .ql-toolbar svg { width: 18px; height: 18px; }
    .kb-faq-editor button, .kb-faq-editor .kb-faq-live { min-height: 44px; }
    .kb-faq-editor .kb-faq-live { display: inline-flex; align-items: center; }
    .kb-faq-editor .ql-tooltip.ql-editing:not(.ql-hidden) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    .kb-faq-editor .ql-tooltip.ql-editing::before { display: none; }
    .kb-faq-editor .ql-tooltip input { min-height: 44px; min-width: 120px; flex: 1; }
    .kb-faq-editor .ql-tooltip .ql-action, .kb-faq-editor .ql-tooltip .ql-remove { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
    .kb-faq-editor .ql-tooltip .ql-action::after { margin-left: 0; padding-right: 0; }
    .kb-faq-editor .ql-tooltip .ql-remove::before { margin-left: 0; }
    .kb-faq-kind { display: none; }
    .kb-faq-headed-section .kb-faq-section-items { margin-left: 12px; }
    .kb-faq-toggle span { white-space: normal; overflow-wrap: anywhere; }
    .kb-faq-collection { padding-left: 8px; padding-right: 8px; font-size: 13px; }
}
