/* /core/assets/search.css — the CORE search page (core/views/search.php), 1.15.0.
 *
 * The last-resort tier, like auth.css: it cannot rely on any theme stylesheet, so every colour
 * and radius reads the theme contract's --cms-* tokens (site/themes/README.md section 6) and
 * falls back to a neutral that sits acceptably on a light or a dark page. A theme that ships its
 * own views/search.php never loads this file. Scoped under .cms-search. */

.cms-search{max-width:46rem;margin:2.5rem auto;color:var(--cms-text, inherit);font-family:var(--cms-font, inherit)}
.cms-search h1{margin:0 0 1.25rem;font-family:var(--cms-font-display, inherit);color:var(--cms-ink, inherit)}
.cms-search__form{margin:0 0 1.75rem}
.cms-search__label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.95rem}
.cms-search__row{display:flex;gap:.5rem}
.cms-search__input{
    flex:1 1 auto;
    min-width:0;
    box-sizing:border-box;
    padding:.6rem .75rem;
    border:1px solid var(--cms-line-strong, rgba(128,128,128,.45));
    border-radius:var(--cms-radius-sm, .4rem);
    background:var(--cms-surface, transparent);
    color:inherit;
    font:inherit;
}
.cms-search__submit{
    flex:0 0 auto;
    padding:.6rem 1.1rem;
    border:0;
    border-radius:var(--cms-radius-sm, .4rem);
    background:var(--cms-accent, #2563eb);
    color:var(--cms-accent-contrast, #fff);
    font:inherit;
    font-weight:600;
    cursor:pointer;
}
.cms-search__input:focus-visible,.cms-search__submit:focus-visible,.cms-search a:focus-visible{outline:2px solid var(--cms-accent, #2563eb);outline-offset:2px}
.cms-search__notice{padding:.8rem 1rem;border:1px solid var(--cms-line, rgba(128,128,128,.3));border-radius:var(--cms-radius-sm, .4rem);background:var(--cms-sunk, rgba(128,128,128,.08))}
.cms-search__summary{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--cms-muted, inherit)}
.cms-search__results{margin:0;padding:0;list-style:none}
.cms-search__result{padding:1rem 0;border-top:1px solid var(--cms-line, rgba(128,128,128,.25))}
.cms-search__result:first-child{border-top:0;padding-top:0}
.cms-search__title{margin:0 0 .25rem;font-size:1.15rem;line-height:1.35;overflow-wrap:anywhere}
.cms-search__title a{color:var(--cms-accent, inherit)}
.cms-search__meta{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 .35rem;font-size:.85rem;color:var(--cms-muted, inherit);opacity:.9}
.cms-search__snippet{margin:0;line-height:1.55;overflow-wrap:anywhere}
/* Weight and the ink colour carry the match as well: a theme's wash can be faint on a dark ground (1.2:1 on the default theme). */
.cms-search__snippet mark{padding:0 .1em;border-radius:.2em;background:var(--cms-accent-wash, rgba(250,204,21,.35));color:var(--cms-ink, inherit);font-weight:600}
.cms-search__pages{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--cms-line, rgba(128,128,128,.25))}
.cms-search__pages a{color:var(--cms-accent, inherit);font-weight:600}

@media (max-width:480px){
    .cms-search{margin:1.5rem auto}
    .cms-search__row{flex-direction:column}
    .cms-search__submit{width:100%}
}

/* iOS zooms the page into a field whose text is under 16 px and does not zoom back (owner, 2026-10-16):
   on a touch screen every field is at least 16 px, and a mouse keeps this sheet's sizes. Never
   maximum-scale or user-scalable=no in the viewport tag, which would stop pinch-zoom. */
@media (pointer:coarse){
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]), select, textarea, [contenteditable]:not([contenteditable="false"]){font-size:max(16px, 1em) !important}
}
