.cs-search-surface { box-sizing: border-box; max-width: 100%; color: inherit; font: inherit; }
.cs-search-surface * { box-sizing: border-box; }
.cs-search-surface [hidden], .cs-search-surface[hidden] { display: none !important; }
.cs-search-widget label { display: block; font-weight: 600; margin-bottom: .6em; }
.cs-search-widget__input { display: flex; gap: .75em; align-items: stretch; }
.cs-search-widget__input input { flex: 1; min-width: 0; width: 100%; font: inherit; padding: .75em; border: 1px solid currentColor; border-radius: var(--cs-search-radius, 6px); }
.cs-search-surface button { font: inherit; padding: .75em 1.2em; cursor: pointer; border-radius: var(--cs-search-radius, 6px); }
.cs-search-surface button:disabled { opacity: .65; cursor: wait; }
.cs-search-panel { position: relative; width: 100%; margin-block: 1em; transition: opacity .2s ease-out, translate .2s ease-out; }
@starting-style { .cs-search-panel { opacity: 0; translate: 0 -4px; } }
.cs-search-panel[aria-busy="true"]::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--cs-search-accent, currentColor), transparent) 0 0 / 40% 100% no-repeat; opacity: 0; animation: cs-search-sweep 1.1s ease-in-out .15s infinite; pointer-events: none; }
.cs-search-widget__results { transition: opacity .2s ease-out; }
.cs-search-widget__results.is-stale { opacity: .5; }
.cs-search-widget__results > [data-enter] { animation: cs-search-rise .32s cubic-bezier(.2, .7, .3, 1) both; animation-delay: calc(var(--cs-enter-index, 0) * 40ms); }
.cs-search-panel__header { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; }
.cs-search-widget__status { min-height: 1.5em; font-size: .9em; margin: 0; }
.cs-search-panel .cs-search-panel__close { padding: .4em .65em; background: transparent; color: inherit; border: 1px solid currentColor; font-size: .85em; }
.cs-search-panel.is-popover { position: fixed; inset: auto; margin: 0; border: 1px solid var(--cs-search-border, #cbd5e1); border-radius: var(--cs-search-radius, 10px); padding: var(--cs-search-panel-padding, 20px); background: var(--cs-search-background, #fff); color: var(--cs-search-color, #182337); overflow: auto; overscroll-behavior: contain; z-index: var(--cs-search-layer, 40); max-width: calc(100vw - 24px); }
.cs-search-panel.is-popover::backdrop { background: transparent; pointer-events: none; }
.cs-search-panel.is-target { max-width: 100%; }
.cs-search-widget__results article { padding-block: 1.2em; border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.cs-search-widget__results :is(h3, h4) { margin: 0 0 .5em; font: inherit; font-size: 1.2em; font-weight: 600; }
.cs-search-widget__results p { margin: .5em 0; overflow-wrap: anywhere; max-width: 75ch; }
.cs-search-widget__answer { padding: 1em; border: 1px solid currentColor; border-radius: 8px; margin-bottom: 1em; white-space: pre-line; }
.cs-search-widget__answer a { display: block; font-size: .9em; }
.cs-search-widget__cta { padding-block: 1.5em; }
.cs-search-widget__cta--inline { padding-block: 1em; }
.cs-search-widget__cta a { display: inline-block; margin-top: .6em; font-weight: 600; }
.cs-search-widget__more { margin-top: 1em; }
.cs-search-surface :is(input,button,a):focus-visible { outline: 2px solid var(--cs-search-accent, currentColor); outline-offset: 3px; }
@keyframes cs-search-rise { from { opacity: 0; translate: 0 6px; } }
@keyframes cs-search-sweep { from { background-position: -67% 0; opacity: 1; } to { background-position: 167% 0; opacity: 1; } }
@media(max-width:480px) { .cs-search-widget__input { flex-direction: column; } .cs-search-widget__input input { font-size: 16px; } .cs-search-panel.is-popover { padding: 16px; } }
@media(prefers-reduced-motion:reduce) { .cs-search-surface, .cs-search-surface * { transition: none !important; animation: none !important; } .cs-search-panel[aria-busy="true"]::before { display: none; } }

/* Result sections: chips to narrow to one section, and a first page grouped by section */
.cs-search-widget__chips { display: flex; flex-wrap: wrap; gap: .5em; margin-block: .25em 1em; }
.cs-search-surface .cs-search-widget__chip { display: inline-flex; align-items: center; gap: .45em; padding: .4em .9em; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: 999px; background: transparent; color: inherit; font-size: .9em; }
.cs-search-surface .cs-search-widget__chip[aria-pressed="true"] { border-color: currentColor; background: color-mix(in srgb, currentColor 10%, transparent); font-weight: 600; cursor: default; }
.cs-search-widget__chip-count { font-size: .85em; opacity: .7; }
.cs-search-widget__section { margin-block: .5em 1.5em; }
.cs-search-widget__results .cs-search-widget__section-title { margin: 0; font: inherit; font-size: .85em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.cs-search-surface .cs-search-widget__section-more { margin-top: .5em; padding: .3em 0; border: 0; background: none; color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cs-search-widget__notice { margin: .6em 0 0; font-size: .85em; opacity: .8; }
.cs-search-widget__phone { font-weight: 600; white-space: nowrap; }
/* Matched words in excerpts: a quiet tint in the theme's own colors, not a yellow highlighter. */
.cs-search-widget__results mark { padding: 0 .1em; border-radius: 2px; background: color-mix(in srgb, currentColor 12%, transparent); color: inherit; font-weight: 600; }
