/* Steven Fletcher Search — isolated front-end component */
.sfs-menu-search { position: relative; display: flex; align-items: center; }
.sfs-search-toggle {
    display: inline-flex; align-items: center; gap: .45rem; border: 1px solid currentColor;
    border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 700;
    padding: .55rem .8rem; cursor: pointer;
}
.sfs-search-toggle:focus-visible,
.sfs-search-form input:focus-visible,
.sfs-search-form button:focus-visible { outline: 3px solid #f2c94c; outline-offset: 3px; }
.sfs-search-toggle__icon { width: 1rem; height: 1rem; border: 2px solid currentColor; border-radius: 50%; position: relative; }
.sfs-search-toggle__icon::after { content: ""; position: absolute; width: .45rem; height: 2px; background: currentColor; right: -.35rem; bottom: -.2rem; transform: rotate(45deg); transform-origin: center; }
.sfs-search-panel {
    position: absolute; z-index: 1000; top: calc(100% + .65rem); right: 0; width: min(34rem, calc(100vw - 2rem));
    padding: 1rem; border-radius: .75rem; background: #fff; color: #17202a;
    box-shadow: 0 18px 50px rgba(0,0,0,.2); border: 1px solid rgba(17,24,39,.14);
}
.sfs-search-form > label { display:block; font-weight: 800; margin-bottom: .5rem; }
.sfs-search-form__row { display: grid; grid-template-columns: 1fr auto; gap: .5rem; }
.sfs-search-form input { min-width: 0; width: 100%; border: 1px solid #7b8794; border-radius: .5rem; padding: .8rem .9rem; font: inherit; }
.sfs-search-form button { border: 0; border-radius: .5rem; padding: .75rem 1rem; background: #8f1d21; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.sfs-suggestions { margin-top: .6rem; }
.sfs-suggestions__list { list-style:none; margin:0; padding:0; border-top:1px solid #e5e7eb; }
.sfs-suggestions__list li { margin:0; }
.sfs-suggestions__list a { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .2rem; text-decoration:none; border-bottom:1px solid #eef0f2; }
.sfs-suggestions__type { color:#667085; font-size:.8rem; white-space:nowrap; }
.sfs-suggestions__notice { margin:.6rem 0 0; color:#596273; font-size:.9rem; }
.sfs-no-results-help { margin-top:1rem; padding:1rem; border-radius:.6rem; background:#f5f2ea; }
.sfs-no-results-help ul { margin:.6rem 0 0 1.1rem; }
.sfs-highlight { background:#fff1a8; color:inherit; padding:0 .08em; }
.sfs-substack-result__meta {
    display: block; margin: 0 0 .45rem; color: #8f1d21; font-size: .78rem; font-weight: 800;
    letter-spacing: .08em; line-height: 1.35; text-transform: uppercase;
}
@media (max-width: 900px) {
    .sfs-menu-search { display:block; }
    .sfs-search-toggle { width:100%; justify-content:flex-start; margin:.35rem 0; }
    .sfs-search-panel { position:static; width:100%; margin:.35rem 0 .75rem; box-shadow:none; }
}
