/* Site search: trigger, overlay and results. Colours are explicit throughout:
   the overlay sits on navy, and buttons and inputs never inherit. */
.ts-search-pill{display:inline-flex;align-items:center;gap:8px;background:#0F1B2D;
  border:1px solid rgba(201,168,76,.6);border-radius:2px;color:#C9A84C;
  font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;padding:8px 13px;cursor:pointer;margin-left:auto;
  transition:border-color .2s ease,color .2s ease}
.ts-search-pill:hover{border-color:#C9A84C;color:#F5EFE3}
.ts-search-kbd{font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:10px;
  color:rgba(245,239,227,.5);border:1px solid rgba(245,239,227,.22);border-radius:2px;padding:1px 5px;
  text-transform:none}
/* nav links row: one notch tighter so the Frameworks link holds a single line
   inside the 1024px container (search.css loads after site.css, so this wins) */
@media (min-width:1000px){
  .topnav-links{gap:12px}
  .topnav-links a{font-size:13px}
  .ts-search-pill{display:none}
}
@media (min-width:1160px){
  .ts-search-pill{display:inline-flex;position:fixed;top:15px;right:20px;z-index:60;margin-left:0;
    box-shadow:0 4px 18px rgba(15,27,45,.35)}
  .ts-search-kbd{display:inline}
}
@media (max-width:999px){.ts-search-kbd{display:none}}
.ts-search-lock{overflow:hidden}
.ts-search-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,27,45,.78);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-y:auto;padding:9vh 18px 18px}
.ts-search-overlay[hidden]{display:none}
.ts-search-panel{max-width:640px;margin:0 auto;background:#16263F;border:1px solid rgba(201,168,76,.34);
  border-radius:3px;box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden}
.ts-search-box{display:flex;align-items:center;gap:10px;padding:16px 18px;
  border-bottom:1px solid rgba(245,239,227,.12)}
.ts-search-input{flex:1;background:transparent;border:0;outline:none;color:#F5EFE3;
  font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px}
.ts-search-input::placeholder{color:rgba(245,239,227,.42)}
.ts-search-input::-webkit-search-cancel-button{-webkit-appearance:none}
.ts-search-esc{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,239,227,.4);
  border:1px solid rgba(245,239,227,.2);border-radius:2px;padding:2px 6px;
  font-family:'Inter',system-ui,-apple-system,sans-serif}
.ts-search-results{max-height:52vh;overflow-y:auto}
.ts-sr{display:block;padding:13px 18px;text-decoration:none;border-bottom:1px solid rgba(245,239,227,.07)}
.ts-sr.is-active{background:rgba(201,168,76,.14)}
.ts-sr-title{display:block;font-family:'Playfair Display',Georgia,serif;font-size:16.5px;color:#F5EFE3}
.ts-sr-path{display:block;margin-top:2px;font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:11px;letter-spacing:.08em;color:#C9A84C}
.ts-sr-snip{display:block;margin-top:5px;font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:12.5px;line-height:1.55;color:rgba(245,239,227,.66)}
.ts-search-hint{padding:14px 18px 16px;font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:12.5px;color:rgba(245,239,227,.55)}
.ts-search-hint[hidden]{display:none}
