/* ============================================================================
 * Theme: Editorial (Pro) — Notion-inspired
 *
 * DESIGN.md source: https://github.com/VoltAgent/awesome-design-md/tree/main/design-md/notion/
 *
 * Warm white (#F7F6F3) background, dark ink (#37352f), serif type rhythm.
 * The catalog entry for Notion is the source of truth for all surface
 * tokens, type, and journal-like accents.
 *
 * SECTION INDEX (matches css/style.css BEM contract):
 *   /* ---- Tokens ---- */                  — :root custom properties
 *   /* ---- Field ---- */                   — .fast-fuzzy-search__field
 *   /* ---- Input ---- */                   — .fast-fuzzy-search__input
 *   /* ---- Icon ---- */                    — .fast-fuzzy-search__icon
 *   /* ---- Clear button ---- */            — .fast-fuzzy-search__clear
 *   /* ---- Post-type bar ---- */           — .fast-fuzzy-search__post-types + chips
 *   /* ---- Context strip ---- */           — .fast-fuzzy-search__context
 *   /* ---- Panel ---- */                   — .fast-fuzzy-search__panel
 *   /* ---- Result link ---- */             — .fast-fuzzy-search__result-link
 *   /* ---- Result icon + image ---- */     — .fast-fuzzy-search__result-icon
 *   /* ---- Result chip ---- */             — .fast-fuzzy-search__chip
 *   /* ---- Result item divider ---- */     — .fast-fuzzy-search__result-item
 *   /* ---- Empty + keyboard + view-all --- — empty state, kbd footer, view-all
 *   /* ---- View all button ---- */        — .fast-fuzzy-search__view-all
 *   /* ---- Panel close button ---- */      — .fast-fuzzy-search__panel-close
 *   /* ---- Trigger buttons (button.php + icon-button.php) ---- */
 *                                            .fast-fuzzy-search__button + .fast-fuzzy-search__icon-button
 * ============================================================================
 */

.fast-fuzzy-search--editorial {
    --ffs-border-color:           #e8e5df;
    --ffs-scrollbar-thumb:        #c4b8a5;
    --ffs-scrollbar-thumb-hover:  #37352f;
}

/* ---- Field ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__field {
    height: 48px;
    background: #F7F6F3;
    border: 1px solid var(--ffs-border-color);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    color: #37352f;
}

.fast-fuzzy-search--editorial[data-has-query="true"] .fast-fuzzy-search__field {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__field:focus-within {
    border-color: #37352f;
    box-shadow: 0 0 0 3px rgba(55, 53, 47, 0.1);
}

/* ---- Input ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__input,
.fast-fuzzy-search--editorial .fast-fuzzy-search__input::placeholder {
    font-size: 14px;
    line-height: 22px;
    font-weight: 400;
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__input::placeholder {
    color: #9b988f;
}

/* ---- Icon ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__icon,
.fast-fuzzy-search--editorial .fast-fuzzy-search__icon-frame {
    color: #37352f;
}

/* ---- Clear button ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__clear button {
    background: rgba(55, 53, 47, 0.08);
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__clear button:hover {
    background: rgba(55, 53, 47, 0.15);
}

/* ---- Post-type bar ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__post-types {
    background: #efece6;
    border-bottom: 1px solid var(--ffs-border-color);
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__chip-button {
    border-color: var(--ffs-border-color);
    background: #ffffff;
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__chip-button:hover {
    background: #f7f6f3;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__chip-button[aria-selected="true"] {
    border-color: #37352f;
    background: rgba(55, 53, 47, 0.05);
    color: #37352f;
    box-shadow: inset 0 0 0 1px #37352f;
}

/* ---- Context strip ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__context {
    color: #37352f;
    background: #efece6;
}

/* ---- Panel ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__panel {
    background: #ffffff;
    border: 1px solid var(--ffs-border-color);
    border-top: 0;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    font-size: 14px;
    line-height: 22px;
    color: #37352f;
}

/* ---- Result link ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link {
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link:hover {
    background: #f7f6f3;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link[aria-selected="true"] {
    border-color: #37352f;
    border-left-color: #37352f;
    background: rgba(55, 53, 47, 0.05);
    box-shadow: inset 0 0 0 1px #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link[aria-selected="true"]:hover {
    background: rgba(55, 53, 47, 0.08);
}

/* ---- Result icon + image ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__result-icon {
    background: #efece6;
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-icon,
.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__result-icon {
    background: #37352f;
    color: #ffffff;
}

/* ---- Result chip ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__chip {
    background: #efece6;
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__chip,
.fast-fuzzy-search--editorial .fast-fuzzy-search__result-link:hover .fast-fuzzy-search__chip {
    background: #37352f;
    color: #ffffff;
}

/* ---- Result content (editorial serif for headings) ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__result-content {
    font-family: Georgia, 'Times New Roman', serif;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-primary {
    font-weight: 600;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__result-secondary {
    color: #6b6a64;
    font-style: italic;
}

/* ---- Empty + keyboard + view-all --- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__empty {
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__empty-title {
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__empty-description {
    color: #6b6a64;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__keyboard-shortcuts {
    background: #efece6;
    border-top-color: var(--ffs-border-color);
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__kbd {
    background: #ffffff;
    border-color: var(--ffs-border-color);
    color: #37352f;
}

/* ---- View all button ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__view-all {
    background: #efece6;
    color: #37352f;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__view-all:hover {
    background: rgba(55, 53, 47, 0.08);
}

/* ---- Panel close button ---- */
.fast-fuzzy-search__panel-close--editorial {
    background: #ffffff;
    color: #37352f;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.fast-fuzzy-search__panel-close--editorial:hover,
.fast-fuzzy-search__panel-close--editorial:focus {
    background: #efece6;
}

/* ---- Trigger buttons (button.php + icon-button.php) ---- */
.fast-fuzzy-search--editorial .fast-fuzzy-search__icon-button,
.fast-fuzzy-search--editorial .fast-fuzzy-search__button {
    background: #F7F6F3;
    color: #37352f;
    border: 1px solid var(--ffs-border-color);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: background-color var(--ffs-duration-fast) var(--ffs-easing),
                border-color var(--ffs-duration-fast) var(--ffs-easing),
                box-shadow var(--ffs-duration-fast) var(--ffs-easing),
                transform var(--ffs-duration-fast) var(--ffs-easing);
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__icon-button {
    border-radius: var(--ffs-radius-pill);
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__button {
    border-radius: 6px;
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__icon-button:hover,
.fast-fuzzy-search--editorial .fast-fuzzy-search__button:hover {
    background: #ffffff;
    border-color: #37352f;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06), 0 6px 14px rgba(0, 0, 0, 0.08);
}

.fast-fuzzy-search--editorial .fast-fuzzy-search__icon-button:focus-visible,
.fast-fuzzy-search--editorial .fast-fuzzy-search__button:focus-visible {
    border-color: #37352f;
    box-shadow: 0 0 0 3px rgba(55, 53, 47, 0.1);
}
