/* Shared support link: visible without JavaScript and omitted from printed guides. */
body a.rux-support-coffee {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: 400 26px/1 system-ui, sans-serif;
  text-decoration: none;
}
body a.rux-support-coffee .rux-coffee-icon { font-size: 30px; line-height: 32px; }
body a.rux-support-coffee .rux-coffee-label { font: 700 10px/12px system-ui, sans-serif; letter-spacing: 0; text-transform: none; white-space: nowrap; }
body button.search-trigger:has(.rux-search-label) {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  gap: 4px;
  box-sizing: border-box;
}
body button.search-trigger:has(.rux-search-label) svg { width: 23px; height: 23px; flex: none; }
body button.search-trigger .rux-search-label { font: 700 10px/12px system-ui, sans-serif; letter-spacing: 0; text-transform: none; white-space: nowrap; }
body .search-trigger[data-inline-search-fallback] { display: none !important; }
body .rux-header-search-row { display: flex; justify-content: center; width: 100%; box-sizing: border-box; padding: 0 0 14px; }
body .rux-search-wrap { position: relative; z-index: 12; width: min(100%,720px); min-width: 0; }
body .rux-search-topics[hidden] { display: none !important; }
body .rux-search-topics { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 500; max-height: min(360px,50dvh); overflow-y: auto; overscroll-behavior: contain; padding: 14px; box-sizing: border-box; border: 1px solid #cad6df; border-radius: 12px; background: #fff; color: #172536; box-shadow: 0 12px 30px #122b4540; text-align: left; }
body .rux-search-topics-title { margin: 0 0 10px; color: #526774; font: 600 12px/1.4 system-ui,sans-serif; letter-spacing: .02em; text-transform: none; }
body .rux-search-topic-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px 8px; }
body .rux-search-topic-list button { display: block; width: 100%; min-height: 44px; padding: 9px 10px; border: 0; border-radius: 7px; background: #f4f7f9; color: #244c61; text-align: left; font: 500 14px/1.4 system-ui,sans-serif; letter-spacing: 0; cursor: pointer; }
body .rux-search-topic-list button:hover { background: #e5f1ef; }
body .rux-search-topic-list button:focus-visible { outline: 2px solid #1565c0; outline-offset: -2px; background: #e5f1ef; }
@media(max-width:600px) { body .rux-search-topic-list { grid-template-columns: repeat(2,minmax(0,1fr)); } body .rux-search-topics { padding: 10px; } body .rux-search-topic-list button { font-size: 13px; padding: 8px; } }
body header .rux-support-coffee { width: 48px; height: 48px; flex-basis: 48px; }
body form.rux-header-search {
  display: flex; align-items: center; width: min(100%, 720px); height: 44px;
  margin: 0; padding: 0; overflow: hidden; border-radius: 9px;
  background: #fff; border: 1px solid #b7c5d0; box-sizing: border-box;
}
body form.rux-header-search:focus-within { outline: 3px solid #ffcf68; outline-offset: 2px; }
body .rux-header-search input {
  flex: 1; min-width: 0; width: 100%; height: 42px; box-sizing: border-box;
  margin: 0; padding: 0 4px 0 11px; border: 0; border-radius: 0;
  background: transparent; color: #172536; font: 400 16px/1.3 system-ui,sans-serif;
  letter-spacing: normal; box-shadow: none; outline: none;
}
body .rux-header-search input::placeholder { color: #64748b; opacity: 1; }
body .rux-header-search button {
  display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 42px;
  margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
  color: #31536c; cursor: pointer;
}
body .rux-header-search button:hover { background: #edf3f7; }
body .rux-header-search button:focus-visible { outline: 2px solid #31536c; outline-offset: -3px; }
body .rux-header-search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
@media print { body .rux-header-search-row { display: none !important; } }
body a.rux-support-coffee:hover { background: #ffffff20; text-decoration: none; }
body a.rux-support-coffee:focus-visible { outline: 3px solid #ffb300; outline-offset: 2px; }
body header[data-coffee-header] { flex-wrap: wrap; gap: 12px; }
@media print { body a.rux-support-coffee { display: none !important; } }
