/* ============================================================
   asearchz — Premium Theme System v3
   Graham Miranda brand: #178581 / #1fb8b3 / #06090f
   Modes: Dark, White, Dev, Luxury
   ============================================================ */

/* ---------- Theme tokens ---------- */
:root,
html[data-asearchz-theme="dark"] {
  --az-bg: #06090f;
  --az-bg-2: #080e16;
  --az-surface: rgba(12, 16, 24, 0.82);
  --az-surface-solid: #0c1018;
  --az-surface-2: #111925;
  --az-surface-3: #151f2b;
  --az-input: rgba(10, 15, 23, 0.92);
  --az-border: rgba(138, 255, 251, 0.12);
  --az-border-strong: rgba(31, 184, 179, 0.32);
  --az-text: #edf4f5;
  --az-text-soft: #a9bbc4;
  --az-muted: #6f8490;
  --az-faint: #42525d;
  --az-accent: #178581;
  --az-accent-2: #1fb8b3;
  --az-accent-3: #0f4a4a;
  --az-gold: #d7bd7a;
  --az-danger: #ef6b73;
  --az-success: #25d08a;
  --az-shadow: 0 26px 80px rgba(0, 0, 0, 0.48);
  --az-shadow-soft: 0 16px 46px rgba(0, 0, 0, 0.30);
  --az-glow: 0 0 0 1px rgba(31,184,179,.16), 0 26px 80px rgba(23,133,129,.12);
  --az-radius-xl: 30px;
  --az-radius-lg: 22px;
  --az-radius: 16px;
  --az-radius-sm: 11px;
  --az-font-display: "Aptos Display", "SF Pro Display", "Segoe UI Variable Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --az-font-body: "Aptos", "SF Pro Text", "Segoe UI Variable Text", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --az-font-mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
  color-scheme: dark;
}

html[data-asearchz-theme="white"] {
  --az-bg: #f6f4ee;
  --az-bg-2: #ebe8de;
  --az-surface: rgba(255, 255, 252, 0.78);
  --az-surface-solid: #fffefa;
  --az-surface-2: #f3f0e8;
  --az-surface-3: #e9e4d8;
  --az-input: rgba(255, 255, 252, 0.94);
  --az-border: rgba(15, 74, 74, 0.12);
  --az-border-strong: rgba(23, 133, 129, 0.28);
  --az-text: #101820;
  --az-text-soft: #40515a;
  --az-muted: #67747b;
  --az-faint: #8b969b;
  --az-accent: #0f7774;
  --az-accent-2: #178581;
  --az-accent-3: #0f4a4a;
  --az-gold: #9f7a32;
  --az-danger: #b73742;
  --az-success: #128d5a;
  --az-shadow: 0 26px 70px rgba(29, 36, 44, 0.14);
  --az-shadow-soft: 0 16px 42px rgba(29, 36, 44, 0.10);
  --az-glow: 0 0 0 1px rgba(23,133,129,.12), 0 24px 70px rgba(23,133,129,.10);
  color-scheme: light;
}

html[data-asearchz-theme="dev"] {
  --az-bg: #020604;
  --az-bg-2: #06110c;
  --az-surface: rgba(4, 18, 12, 0.84);
  --az-surface-solid: #07120d;
  --az-surface-2: #0b1f16;
  --az-surface-3: #102b20;
  --az-input: rgba(0, 10, 7, 0.94);
  --az-border: rgba(93, 255, 178, 0.17);
  --az-border-strong: rgba(93, 255, 178, 0.42);
  --az-text: #d8ffe8;
  --az-text-soft: #9ce9be;
  --az-muted: #63a87d;
  --az-faint: #386249;
  --az-accent: #37f49b;
  --az-accent-2: #7dffd0;
  --az-accent-3: #118454;
  --az-gold: #b7ff79;
  --az-danger: #ff5f72;
  --az-success: #7dffd0;
  --az-shadow: 0 26px 80px rgba(0, 0, 0, 0.58);
  --az-shadow-soft: 0 16px 46px rgba(0, 0, 0, 0.38);
  --az-glow: 0 0 0 1px rgba(93,255,178,.22), 0 0 42px rgba(55,244,155,.12);
  --az-font-display: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
  --az-font-body: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
  --az-font-mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
  color-scheme: dark;
}

html[data-asearchz-theme="luxury"] {
  --az-bg: #050508;
  --az-bg-2: #0b0b10;
  --az-surface: rgba(14, 13, 17, 0.84);
  --az-surface-solid: #0e0d12;
  --az-surface-2: #17151d;
  --az-surface-3: #211e28;
  --az-input: rgba(10, 10, 14, 0.94);
  --az-border: rgba(215, 189, 122, 0.15);
  --az-border-strong: rgba(215, 189, 122, 0.36);
  --az-text: #f6f1e7;
  --az-text-soft: #c8beac;
  --az-muted: #8f8678;
  --az-faint: #575044;
  --az-accent: #178581;
  --az-accent-2: #d7bd7a;
  --az-accent-3: #0f4a4a;
  --az-gold: #d7bd7a;
  --az-danger: #e68186;
  --az-success: #55d7a4;
  --az-shadow: 0 30px 90px rgba(0, 0, 0, 0.60);
  --az-shadow-soft: 0 18px 52px rgba(0, 0, 0, 0.40);
  --az-glow: 0 0 0 1px rgba(215,189,122,.18), 0 32px 90px rgba(215,189,122,.10);
  color-scheme: dark;
}

html,
html.theme-dark,
html.theme-light,
html.theme-auto {
  --color-base-background: var(--az-bg) !important;
  --color-base-background-mobile: var(--az-bg) !important;
  --color-header-background: var(--az-surface-solid) !important;
  --color-header-border: var(--az-border) !important;
  --color-footer-background: var(--az-bg) !important;
  --color-footer-border: var(--az-border) !important;
  --color-sidebar-background: var(--az-surface-solid) !important;
  --color-sidebar-border: var(--az-border) !important;
  --color-result-background: var(--az-surface-solid) !important;
  --color-result-border: var(--az-border) !important;
  --color-search-background: var(--az-input) !important;
  --color-search-font: var(--az-text) !important;
  --color-search-border: var(--az-border-strong) !important;
  --color-btn-background: var(--az-accent) !important;
  --color-btn-font: #ffffff !important;
  --color-url-font: var(--az-accent-2) !important;
  --color-toolkit-dialog-background: var(--az-surface-solid) !important;
  --color-toolkit-dialog-border: var(--az-border) !important;
  --color-toolkit-select-background: var(--az-input) !important;
  --color-toolkit-select-border: var(--az-border) !important;
  --color-settings-table-group-background: var(--az-surface-solid) !important;
  --color-settings-tr-hover: var(--az-surface-2) !important;
  background-color: var(--az-bg) !important;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-height: 100%;
  margin: 0;
  background-color: var(--az-bg) !important;
  background-image:
    radial-gradient(ellipse 80% 60% at 22% 0%, color-mix(in srgb, var(--az-accent) 22%, var(--az-bg)), transparent 70%),
    radial-gradient(ellipse 60% 50% at 85% 5%, color-mix(in srgb, var(--az-accent-2) 12%, var(--az-bg)), transparent 65%);
  color: var(--az-text) !important;
  font-family: var(--az-font-body) !important;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background: linear-gradient(135deg, var(--az-bg) 0%, var(--az-bg-2) 100%);
  opacity: 1;
}
html[data-asearchz-theme="white"] body::before { opacity: .72; }
html[data-asearchz-theme="dev"] body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(93,255,178,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93,255,178,.07) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.88), transparent 72%);
}

main,
#main_index,
#main_results,
#main_preferences,
#main_stats,
#main_info {
  background: transparent !important;
}

a,
a:visited { color: var(--az-accent-2) !important; text-decoration: none; }
a:hover { color: color-mix(in srgb, var(--az-accent-2) 72%, white) !important; }
::selection { background: color-mix(in srgb, var(--az-accent) 35%, transparent); color: #fff; }

/* ---------- Top navigation ---------- */
#links_on_top.az-topbar {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 450 !important;
  width: min(1180px, calc(100% - 32px)) !important;
  min-height: 64px !important;
  margin: 12px auto 0 !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface) 94%, transparent), color-mix(in srgb, var(--az-surface-solid) 86%, transparent)) !important;
  border: 1px solid var(--az-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--az-shadow-soft) !important;
  backdrop-filter: blur(24px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.25) !important;
}
.az-topbar::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 24%, color-mix(in srgb, var(--az-accent) 10%, transparent) 70%, transparent);
  opacity: .7;
}
.az-topbar-brand,
.az-topbar-actions,
.az-theme-dock { position: relative; z-index: 1; }
.az-topbar-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0;
  color: var(--az-text) !important;
}
.az-topbar-brand img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  display: block;
  filter: drop-shadow(0 10px 22px color-mix(in srgb, var(--az-accent) 26%, transparent));
}
.az-brand-copy { display: grid; line-height: 1.03; }
.az-brand-copy strong {
  font-family: var(--az-font-display);
  font-size: .98rem;
  font-weight: 780;
  letter-spacing: -.035em;
  color: var(--az-text);
}
.az-brand-copy small {
  margin-top: 3px;
  font-size: .66rem;
  color: var(--az-muted);
  text-transform: uppercase;
  letter-spacing: .09em;
}
.az-topbar-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  min-width: 0;
}
.az-nav-link,
#links_on_top a.az-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  color: var(--az-text-soft) !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  letter-spacing: .005em !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.az-nav-link:hover {
  color: var(--az-text) !important;
  background: color-mix(in srgb, var(--az-accent) 9%, transparent) !important;
  border-color: var(--az-border) !important;
  transform: translateY(-1px);
}
.az-theme-dock {
  display: inline-flex !important;
  gap: 2px !important;
  padding: 3px !important;
  margin-left: 4px !important;
  border: 1px solid var(--az-border) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--az-bg) 60%, transparent) !important;
}
.az-theme-dock button {
  appearance: none;
  border: 0 !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--az-muted) !important;
  box-shadow: none !important;
  font: 700 .70rem/1 var(--az-font-body) !important;
  letter-spacing: .02em !important;
  cursor: pointer;
  transform: none !important;
}
.az-theme-dock button[aria-pressed="true"] {
  color: #fff !important;
  background: linear-gradient(135deg, var(--az-accent), var(--az-accent-3)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--az-accent) 26%, transparent) !important;
}
html[data-asearchz-theme="white"] .az-theme-dock button[aria-pressed="true"] { color: #fff !important; }
html[data-asearchz-theme="luxury"] .az-theme-dock button[aria-pressed="true"] {
  color: #17130c !important;
  background: linear-gradient(135deg, var(--az-gold), #f2dfaa) !important;
}
html[data-asearchz-theme="dev"] .az-theme-dock button[aria-pressed="true"] {
  color: #00150b !important;
  background: linear-gradient(135deg, #37f49b, #7dffd0) !important;
}

/* ---------- Homepage ---------- */
body.index_endpoint #main_index {
  min-height: 70vh;
}
.az-hero {
  width: min(920px, calc(100% - 32px));
  margin: 22px auto 0;
  text-align: center;
}
.az-hero-shell {
  position: relative;
  isolation: isolate;
  padding: 22px 18px 10px;
}
.az-hero-shell::before {
  content: "";
  position: absolute;
  inset: -50px 8% auto;
  height: 220px;
  z-index: -1;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--az-accent) 18%, transparent), transparent 68%);
  filter: blur(6px);
  opacity: .95;
}
.az-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 auto 12px;
  color: var(--az-muted);
  font-size: .70rem;
  font-weight: 760;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.az-hero-kicker::before,
.az-hero-kicker::after {
  content: "";
  width: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--az-border-strong));
}
.az-hero-kicker::after { background: linear-gradient(90deg, var(--az-border-strong), transparent); }
.az-hero .hero-logo-img {
  width: 82px !important;
  height: 82px !important;
  margin: 0 auto 8px !important;
  display: block;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 18px 42px color-mix(in srgb, var(--az-accent) 26%, transparent)) !important;
}
.az-hero h1 {
  margin: 0;
  font-family: var(--az-font-display);
  font-size: clamp(2.2rem, 5.2vw, 5.2rem);
  line-height: .92;
  letter-spacing: -.075em;
  color: var(--az-text);
}
.az-hero h1::after {
  content: "";
  display: block;
  width: min(260px, 52vw);
  height: 1px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, transparent, var(--az-accent-2), transparent);
  opacity: .6;
}
.az-hero p {
  width: min(650px, 100%);
  margin: 14px auto 0;
  color: var(--az-text-soft);
  font-size: clamp(.98rem, 1.5vw, 1.12rem);
  line-height: 1.55;
}
.az-home-search {
  width: min(790px, calc(100% - 32px));
  margin: 16px auto 0 !important;
  padding: 0 !important;
}
body.index_endpoint #search_header {
  width: 100% !important;
  margin: 0 auto !important;
  padding: 10px !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface) 94%, transparent), color-mix(in srgb, var(--az-surface-solid) 90%, transparent)) !important;
  border: 1px solid var(--az-border-strong) !important;
  box-shadow: var(--az-glow) !important;
  backdrop-filter: blur(24px) saturate(1.25) !important;
}
body.index_endpoint #search_view { width: 100% !important; max-width: none !important; }

/* ---------- Search header and inputs ---------- */
#search_header.az-search-header {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 18px auto 0 !important;
  padding: 12px !important;
  min-height: auto !important;
  display: block !important;
  border-radius: var(--az-radius-xl) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface) 96%, transparent), color-mix(in srgb, var(--az-surface-solid) 89%, transparent)) !important;
  border: 1px solid var(--az-border) !important;
  box-shadow: var(--az-shadow-soft) !important;
  backdrop-filter: blur(24px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.25) !important;
}
.az-search-primary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
#search_logo {
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 17px !important;
  background: color-mix(in srgb, var(--az-accent) 8%, transparent) !important;
  border: 1px solid var(--az-border) !important;
}
#search_logo img,
#search_logo img.asearchz-header-logo,
.logo.asearchz-page-logo,
.page_with_header header img.logo,
img.logo[src*="asearchz_logo"] {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  object-fit: contain !important;
}
#search_logo img,
#search_logo img.asearchz-header-logo {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  border-radius: 0 !important;
}
#search_view { width: 100% !important; max-width: none !important; }
#search_view .search_box,
.search_box {
  position: relative !important;
  width: 100% !important;
  min-height: 56px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px 50px !important;
  align-items: center !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: var(--az-input) !important;
  border: 1px solid var(--az-border-strong) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 14px 34px rgba(0,0,0,.12) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.search_box:focus-within {
  border-color: var(--az-accent-2) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 4px color-mix(in srgb, var(--az-accent) 16%, transparent), 0 18px 44px color-mix(in srgb, var(--az-accent) 11%, transparent) !important;
  transform: translateY(-1px);
}
#q,
input[type="text"],
input[type="search"] {
  min-width: 0 !important;
  width: 100% !important;
  height: 56px !important;
  padding: 0 18px !important;
  background: transparent !important;
  color: var(--az-text) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: var(--az-font-body) !important;
  font-size: 1.02rem !important;
  font-weight: 520 !important;
  letter-spacing: -.015em !important;
}
#q::placeholder { color: var(--az-faint) !important; }
#clear_search,
#send_search,
.search_box button {
  width: 100% !important;
  height: 44px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
}
#clear_search {
  background: transparent !important;
  color: var(--az-muted) !important;
}
#clear_search:hover { color: var(--az-text) !important; background: color-mix(in srgb, var(--az-accent) 8%, transparent) !important; }
#send_search,
button#send_search,
button[type="submit"]#send_search {
  width: 44px !important;
  margin-right: 4px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--az-accent), var(--az-accent-3)) !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--az-accent) 26%, transparent) !important;
}
html[data-asearchz-theme="luxury"] #send_search { color: #16110a !important; background: linear-gradient(135deg, var(--az-gold), #f0d99f) !important; }
html[data-asearchz-theme="dev"] #send_search { color: #00150b !important; background: linear-gradient(135deg, #37f49b, #7dffd0) !important; }
#send_search:hover { filter: brightness(1.08); transform: translateY(-1px) !important; }
.az-search-status {
  display: grid;
  min-width: 112px;
  justify-items: start;
  padding: 8px 12px;
  border-left: 1px solid var(--az-border);
}
.az-search-status span {
  color: var(--az-text);
  font-size: .78rem;
  font-weight: 780;
  letter-spacing: .02em;
}
.az-search-status small {
  margin-top: 2px;
  color: var(--az-muted);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* ---------- Category rail and filters ---------- */
.az-category-rail {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--az-border);
}
#categories,
.search_categories {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
#categories_container {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  overflow-x: auto !important;
  padding: 1px !important;
  scrollbar-width: none;
}
#categories_container::-webkit-scrollbar { display: none; }
.category,
.category_button,
.category_checkbox label,
#categories button,
#categories label {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--az-muted) !important;
  box-shadow: none !important;
  font-family: var(--az-font-body) !important;
  font-size: .76rem !important;
  font-weight: 690 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease !important;
  cursor: pointer;
}
.category svg,
.category_button svg,
.category_checkbox label svg {
  width: 15px !important;
  height: 15px !important;
  opacity: .72;
}
.category_name { white-space: nowrap !important; line-height: 1 !important; }
.category:hover,
.category_button:hover,
.category_checkbox label:hover,
#categories button:hover,
#categories label:hover {
  color: var(--az-text) !important;
  background: color-mix(in srgb, var(--az-accent) 8%, transparent) !important;
  border-color: var(--az-border) !important;
  transform: translateY(-1px) !important;
}
.category_button.selected,
#categories button.selected,
.category_checkbox input:checked + label {
  color: var(--az-text) !important;
  background: color-mix(in srgb, var(--az-accent) 15%, transparent) !important;
  border-color: var(--az-border-strong) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--az-accent) 10%, transparent) !important;
}
html[data-asearchz-theme="white"] .category_button.selected,
html[data-asearchz-theme="white"] #categories button.selected,
html[data-asearchz-theme="white"] .category_checkbox input:checked + label { color: var(--az-accent-3) !important; }
.search_filters,
.az-filterbar {
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border: 0 !important;
}
.search_filters label,
.search_filters span { color: var(--az-muted) !important; font-size: .75rem !important; font-weight: 650; }
select,
.search_filters select,
#time-range,
#language,
#safesearch {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-surface) 86%, transparent) !important;
  color: var(--az-text-soft) !important;
  font-family: var(--az-font-body) !important;
  font-size: .76rem !important;
  font-weight: 650 !important;
  outline: none !important;
}
option { background: var(--az-surface-solid) !important; color: var(--az-text) !important; }

/* ---------- Results ---------- */
#results {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin: 18px auto 0 !important;
  padding: 0 0 24px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 730px) minmax(230px, 330px) !important;
  column-gap: 26px !important;
  align-items: start !important;
  background: transparent !important;
}
#urls { grid-column: 1 !important; min-width: 0 !important; }
#result_count {
  margin: 0 0 12px !important;
  padding: 9px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--az-surface) 82%, transparent) !important;
  border: 1px solid var(--az-border) !important;
  color: var(--az-muted) !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.result,
article.result {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
  padding: 18px 20px !important;
  border-radius: var(--az-radius-lg) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface-solid) 96%, transparent), color-mix(in srgb, var(--az-surface-2) 68%, transparent)) !important;
  border: 1px solid var(--az-border) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.035) inset !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.result::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: transparent;
  transition: background .18s ease, opacity .18s ease;
  opacity: 0;
}
.result:hover {
  transform: translateY(-2px) !important;
  border-color: var(--az-border-strong) !important;
  box-shadow: var(--az-shadow-soft) !important;
}
.result:hover::before { opacity: 1; background: linear-gradient(180deg, var(--az-accent-2), var(--az-accent)); }
.result h3,
.result .result_header { margin: 0 0 6px !important; }
.result h3 a,
.result .url_header a {
  color: var(--az-text) !important;
  font-family: var(--az-font-display) !important;
  font-size: 1.03rem !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
}
.result h3 a:hover { color: var(--az-accent-2) !important; }
.result .url,
.result_url,
.url_header span {
  color: var(--az-accent-2) !important;
  font-size: .76rem !important;
  font-weight: 650 !important;
  letter-spacing: -.005em !important;
}
.result .content,
.result-content,
.result p {
  color: var(--az-text-soft) !important;
  font-size: .90rem !important;
  line-height: 1.62 !important;
}
.result .engines { margin-top: 9px !important; display: flex; gap: 5px; flex-wrap: wrap; }
.result .engines .engine,
.engine {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px !important;
  border-radius: 999px !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-accent) 7%, transparent) !important;
  color: var(--az-muted) !important;
  font-size: .66rem !important;
  font-weight: 720 !important;
}
#sidebar {
  grid-column: 2 !important;
  grid-row: 1 / span 5 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: var(--az-radius-lg) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface-solid) 96%, transparent), color-mix(in srgb, var(--az-surface-2) 72%, transparent)) !important;
  border: 1px solid var(--az-border) !important;
  color: var(--az-text-soft) !important;
  box-shadow: var(--az-shadow-soft) !important;
}
#sidebar .infobox,
.infobox {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--az-text-soft) !important;
}
#sidebar img,
.result img { border-radius: 14px !important; }
.answers,
.corrections,
.suggestions {
  border-radius: var(--az-radius-lg) !important;
  background: color-mix(in srgb, var(--az-surface) 90%, transparent) !important;
  border: 1px solid var(--az-border) !important;
  color: var(--az-text-soft) !important;
  box-shadow: var(--az-shadow-soft) !important;
}
.autocomplete {
  margin-top: 8px !important;
  border-radius: 18px !important;
  background: var(--az-surface-solid) !important;
  border: 1px solid var(--az-border) !important;
  box-shadow: var(--az-shadow) !important;
  overflow: hidden !important;
}
.autocomplete ul { margin: 0 !important; padding: 6px !important; }
.autocomplete li,
.autocomplete a { color: var(--az-text-soft) !important; border-radius: 12px !important; }
.autocomplete li:hover,
.autocomplete a:hover { background: color-mix(in srgb, var(--az-accent) 10%, transparent) !important; color: var(--az-text) !important; }

/* ---------- Pagination ---------- */
#pagination,
.pagination {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 26px 0 4px !important;
}
#pagination form,
#pagination .numbered_pagination { display: inline-flex !important; gap: 7px !important; align-items: center !important; margin: 0 !important; }
#pagination input[type="submit"],
#pagination input[type="button"],
#pagination button,
.pagination a,
.pagination span {
  min-width: 38px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-surface) 90%, transparent) !important;
  color: var(--az-text-soft) !important;
  box-shadow: none !important;
  font-size: .78rem !important;
  font-weight: 720 !important;
  transform: none !important;
}
#pagination input.page_number_current,
#pagination input[type="button"].page_number_current,
.pagination .current {
  color: #fff !important;
  border-color: var(--az-border-strong) !important;
  background: linear-gradient(135deg, var(--az-accent), var(--az-accent-3)) !important;
}

/* ---------- Page header / info / preferences ---------- */
.az-page-header {
  width: min(1050px, calc(100% - 32px));
  margin: 28px auto 0;
  display: flex;
  justify-content: center;
}
.az-page-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-surface) 88%, transparent) !important;
  box-shadow: var(--az-shadow-soft) !important;
  color: var(--az-text) !important;
}
.az-page-brand img,
.logo.asearchz-page-logo,
.page_with_header img.logo,
img.logo[src*="asearchz_logo"] {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
}
.az-page-brand span { display: grid; line-height: 1.05; }
.az-page-brand strong { color: var(--az-text); font-family: var(--az-font-display); font-size: .96rem; letter-spacing: -.03em; }
.az-page-brand small { color: var(--az-muted); margin-top: 3px; font-size: .66rem; text-transform: uppercase; letter-spacing: .09em; }
.page_with_header,
body.preferences_endpoint #main_preferences,
body.info_endpoint #main_info,
body.stats_endpoint #main_stats {
  width: min(1080px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  color: var(--az-text) !important;
}
body.preferences_endpoint h1,
body.info_endpoint h1,
body.stats_endpoint h1,
.page_with_header h1 {
  margin: 26px 0 18px !important;
  font-family: var(--az-font-display) !important;
  color: var(--az-text) !important;
  font-size: clamp(2rem, 3.5vw, 3.4rem) !important;
  letter-spacing: -.07em !important;
  line-height: .96 !important;
  text-align: center;
}
.page_with_header h2,
.page_with_header h3 { color: var(--az-text) !important; font-family: var(--az-font-display) !important; letter-spacing: -.035em; }
.page_with_header p,
.page_with_header li,
.page_with_header td,
.page_with_header th { color: var(--az-text-soft) !important; }

body.preferences_endpoint form#search_form,
body.preferences_endpoint .preferences_container,
body.info_endpoint article,
body.stats_endpoint #engine-times,
body.stats_endpoint table {
  border-radius: var(--az-radius-xl) !important;
  border: 1px solid var(--az-border) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--az-surface-solid) 96%, transparent), color-mix(in srgb, var(--az-surface-2) 66%, transparent)) !important;
  box-shadow: var(--az-shadow-soft) !important;
}
body.preferences_endpoint form#search_form {
  width: min(1080px, 100%) !important;
  margin: 0 auto 42px !important;
  padding: 16px !important;
}
.tabs {
  background: transparent !important;
  color: var(--az-text) !important;
}
.tabs > input[type="radio"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.tabs > label[role="tab"],
.tabs > label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 4px 8px 0 !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-bg) 38%, transparent) !important;
  color: var(--az-muted) !important;
  font-size: .78rem !important;
  font-weight: 740 !important;
  letter-spacing: -.005em !important;
  cursor: pointer;
}
.tabs > input[type="radio"]:checked + label,
.tabs > label[aria-selected="true"] {
  color: var(--az-text) !important;
  border-color: var(--az-border-strong) !important;
  background: color-mix(in srgb, var(--az-accent) 13%, transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--az-accent) 8%, transparent) !important;
}
.tabs > section {
  padding: 18px 2px 2px !important;
  background: transparent !important;
  color: var(--az-text-soft) !important;
}
fieldset {
  margin: 0 0 14px !important;
  padding: 16px !important;
  border-radius: var(--az-radius-lg) !important;
  border: 1px solid var(--az-border) !important;
  background: color-mix(in srgb, var(--az-surface) 82%, transparent) !important;
  color: var(--az-text-soft) !important;
}
legend {
  padding: 0 8px !important;
  color: var(--az-text) !important;
  font-family: var(--az-font-display) !important;
  font-weight: 780 !important;
  letter-spacing: -.025em !important;
}
.preference_tab,
.preference_item,
.value,
.description { color: var(--az-text-soft) !important; }
input[type="checkbox"],
input[type="radio"] { accent-color: var(--az-accent); }
.checkbox-onoff,
input.checkbox-onoff {
  accent-color: var(--az-accent) !important;
}
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  color: var(--az-text-soft) !important;
}
th,
td {
  border-color: var(--az-border) !important;
  color: var(--az-text-soft) !important;
}
tr:hover td { background: color-mix(in srgb, var(--az-accent) 7%, transparent) !important; }
.preferences_back,
.preferences_endpoint input[type="submit"],
.preferences_endpoint button[type="submit"],
.preferences_endpoint input[type="reset"],
.preferences_endpoint button[type="reset"] {
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid var(--az-border-strong) !important;
  background: linear-gradient(135deg, var(--az-accent), var(--az-accent-3)) !important;
  color: #fff !important;
  font-weight: 760 !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--az-accent) 20%, transparent) !important;
}
html[data-asearchz-theme="luxury"] .preferences_endpoint input[type="submit"],
html[data-asearchz-theme="luxury"] .preferences_endpoint button[type="submit"] { color: #17130c !important; background: linear-gradient(135deg, var(--az-gold), #f0d99f) !important; }

/* ---------- Dialogs and utility surfaces ---------- */
.dialog-error,
.dialog-warning-block,
.dialog-modal,
.modal-wrapper,
.engine-tooltip {
  border-radius: var(--az-radius-lg) !important;
  border: 1px solid var(--az-border-strong) !important;
  background: var(--az-surface-solid) !important;
  color: var(--az-text-soft) !important;
  box-shadow: var(--az-shadow) !important;
}
.dialog-error { color: var(--az-danger) !important; }
.close { color: var(--az-muted) !important; }

/* ---------- Footer ---------- */
footer.az-footer {
  width: min(1180px, calc(100% - 32px));
  margin: 56px auto 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--az-muted) !important;
  font-size: .85rem !important;
  text-align: left !important;
}
.az-footer-inner {
  position: relative;
  overflow: hidden;
  border-radius: var(--az-radius-xl);
  border: 1px solid var(--az-border);
  background: linear-gradient(135deg, color-mix(in srgb, var(--az-surface-solid) 96%, transparent), color-mix(in srgb, var(--az-surface-2) 70%, transparent));
  box-shadow: var(--az-shadow-soft);
  padding: 24px;
}
.az-footer-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--az-accent) 14%, transparent), transparent 22rem),
    linear-gradient(90deg, rgba(255,255,255,.055), transparent 30%);
  opacity: .9;
}
.az-footer-brand,
.az-footer-grid,
.az-footer-bottom { position: relative; z-index: 1; }
.az-footer-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--az-border);
}
.az-footer-brand img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 14px 26px color-mix(in srgb, var(--az-accent) 24%, transparent)); }
.az-footer-brand strong { display: block; color: var(--az-text); font-family: var(--az-font-display); font-size: 1.14rem; letter-spacing: -.04em; }
.az-footer-brand p { max-width: 680px; margin: 4px 0 0; color: var(--az-muted); line-height: 1.45; }
.az-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.az-footer-grid section { display: grid; gap: 7px; align-content: start; }
.az-footer-grid h2 {
  margin: 0 0 4px;
  color: var(--az-text);
  font-family: var(--az-font-display);
  font-size: .77rem;
  font-weight: 820;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.az-footer-grid a,
.az-footer-grid span {
  color: var(--az-muted) !important;
  font-size: .83rem;
  line-height: 1.35;
}
.az-footer-grid a:hover { color: var(--az-accent-2) !important; }
.az-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--az-border);
  color: var(--az-faint);
  font-size: .76rem;
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--az-bg); }
::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--az-accent) 28%, var(--az-surface-3)); border-radius: 999px; border: 2px solid var(--az-bg); }
::-webkit-scrollbar-thumb:hover { background: var(--az-accent); }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  #links_on_top.az-topbar {
    border-radius: 26px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
  }
  .az-topbar-actions { width: 100%; justify-content: flex-start !important; overflow-x: auto; padding-bottom: 1px; }
  .az-theme-dock { margin-left: auto !important; }
  #results { display: block !important; width: min(760px, calc(100% - 24px)) !important; }
  #sidebar { margin: 14px 0 0 !important; }
  .az-search-primary { grid-template-columns: 44px minmax(0,1fr); }
  .az-search-status { display: none; }
  .az-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body { font-size: 14px; }
  #links_on_top.az-topbar,
  #search_header.az-search-header,
  body.index_endpoint #search_header,
  .az-home-search,
  .az-hero,
  footer.az-footer,
  .page_with_header,
  body.preferences_endpoint #main_preferences,
  body.info_endpoint #main_info,
  body.stats_endpoint #main_stats { width: calc(100% - 20px) !important; }
  .az-brand-copy small { display: none; }
  .az-nav-link { padding: 0 9px !important; }
  .az-theme-dock button { padding: 0 8px !important; }
  .az-hero { margin-top: 14px; }
  .az-hero-shell { padding-top: 14px; }
  .az-hero p { font-size: .94rem; }
  #search_view .search_box,
  .search_box { grid-template-columns: minmax(0,1fr) 40px 46px !important; min-height: 52px !important; border-radius: 18px !important; }
  #q { height: 52px !important; padding: 0 14px !important; font-size: .98rem !important; }
  #clear_search, #send_search, .search_box button { height: 40px !important; }
  #send_search { width: 40px !important; }
  #categories_container { gap: 2px !important; }
  .category, .category_button, .category_checkbox label, #categories button, #categories label { min-height: 32px !important; padding: 0 8px !important; font-size: .72rem !important; }
  .result, article.result { padding: 16px !important; border-radius: 18px !important; }
  .az-footer-inner { padding: 18px; border-radius: 24px; }
  .az-footer-brand { align-items: flex-start; }
  .az-footer-grid { grid-template-columns: 1fr; }
  .az-footer-bottom { flex-direction: column; }
}

/* patch-version: premium-theme-system-1778194400 */


/* asearchz no-hairline visual cleanup — 2026-05-08 */
/* Graham reported visible horizontal "lines" around search/pages. Remove hard hairline borders
   from the large glass panels and replace them with soft depth only. */
#links_on_top.az-topbar,
#search_header.az-search-header,
body.index_endpoint #search_header,
.az-home-search,
.az-hero,
footer.az-footer,
.page_with_header,
body.preferences_endpoint #main_preferences,
body.info_endpoint #main_info,
body.stats_endpoint #main_stats {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.24) !important;
  background-color: color-mix(in srgb, var(--az-surface-solid) 92%, var(--az-bg)) !important;
}

#links_on_top.az-topbar::before,
.az-topbar::before,
#search_header.az-search-header::before,
body.index_endpoint #search_header::before,
.az-home-search::before,
.az-hero::before,
footer.az-footer::before,
.page_with_header::before,
body.preferences_endpoint #main_preferences::before,
body.info_endpoint #main_info::before,
body.stats_endpoint #main_stats::before {
  display: none !important;
  content: none !important;
}

.az-category-rail {
  border-top: 0 !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
}

.az-search-primary {
  border: 0 !important;
  box-shadow: none !important;
}

.result,
article.result {
  border: 0 !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.16) !important;
}

.result::before,
article.result::before {
  display: none !important;
  content: none !important;
}

.result:hover,
article.result:hover {
  border-color: transparent !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
}

.engine,
.result .engines .engine,
.az-theme-button,
#categories button,
#categories a {
  box-shadow: none !important;
}

/* Keep focus state visible without drawing a full-width horizontal rail. */
#q:focus,
.search_box input:focus,
input[type="search"]:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--az-accent) 18%, transparent) !important;
}


/* asearchz focus black-bar fix — 2026-05-08 */
/* Clicking the search input must not create a dark/black overlay bar. Keep the
   search surface visually stable between normal, hover, focus, and typed states. */
#search_view,
#search_view .search_box,
.search_box {
  isolation: isolate !important;
}

#search_view .search_box,
.search_box,
#search_view .search_box:focus-within,
.search_box:focus-within,
#search_view .search_box:hover,
.search_box:hover {
  overflow: visible !important;
  transform: none !important;
  background: color-mix(in srgb, var(--az-surface-solid) 94%, var(--az-bg)) !important;
  border: 0 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.18) !important;
}

#search_view .search_box::before,
#search_view .search_box::after,
.search_box::before,
.search_box::after {
  display: none !important;
  content: none !important;
}

#q,
#q:focus,
#q:active,
.search_box input,
.search_box input:focus,
.search_box input:active,
input[type="text"]:focus,
input[type="search"]:focus {
  position: relative !important;
  z-index: 3 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

/* Browser autofill/populated states sometimes paint a dark rectangular layer over inputs. */
#q:-webkit-autofill,
#q:-webkit-autofill:hover,
#q:-webkit-autofill:focus,
.search_box input:-webkit-autofill,
.search_box input:-webkit-autofill:hover,
.search_box input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--az-text) !important;
  caret-color: var(--az-text) !important;
  transition: background-color 9999s ease-out 0s !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  box-shadow: 0 0 0 1000px transparent inset !important;
}

/* If SearXNG/browser autocomplete creates a suggestion layer, keep it below the input
   and style it as a proper dropdown rather than a black strip over the bar. */
#autocomplete,
.autocomplete,
.autocomplete-list,
.ui-autocomplete,
.search_autocomplete,
.search-suggestions,
#search_suggestions,
.search_box [role="listbox"] {
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  min-width: 100% !important;
  background: color-mix(in srgb, var(--az-surface-solid) 96%, var(--az-bg)) !important;
  color: var(--az-text) !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.28) !important;
  overflow: hidden !important;
  z-index: 20 !important;
}


/* asearchz tabs-top search-middle layout — 2026-05-08 */
/* Results page: category tabs belong at the top of the search panel; the search bar sits
   visually centered underneath. */
#search_header.az-search-header.az-tabs-top {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 12px 14px 14px !important;
}

#search_header.az-tabs-top .az-category-rail {
  order: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 38px !important;
}

#search_header.az-tabs-top #categories_container {
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 !important;
}

#search_header.az-tabs-top .az-search-primary {
  order: 1 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(420px, 620px) auto !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 68px !important;
}

#search_header.az-tabs-top #search_view {
  width: min(620px, 100%) !important;
  justify-self: center !important;
  padding-top: 0 !important;
}

#search_header.az-tabs-top .search_box {
  width: 100% !important;
}

#search_header.az-tabs-top .az-search-status {
  min-width: 104px !important;
}

@media (max-width: 760px) {
  #search_header.az-tabs-top .az-search-primary {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    justify-content: stretch !important;
  }
  #search_header.az-tabs-top .az-search-status { display: none !important; }
  #search_header.az-tabs-top #categories_container { justify-content: flex-start !important; }
}


/* asearchz centered search column correction — 2026-05-08 */
/* Built-in SearXNG assigns grid-area: logo/search, which creates implicit tracks and
   pushes the search bar right. Reset those areas and put the search in a true middle column. */
#search_header.az-tabs-top .az-search-primary {
  grid-template-columns: minmax(96px, 1fr) minmax(420px, 620px) minmax(96px, 1fr) !important;
  grid-template-areas: none !important;
  justify-content: stretch !important;
  column-gap: 14px !important;
}

#search_header.az-tabs-top #search_logo {
  grid-area: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
}

#search_header.az-tabs-top #search_view {
  grid-area: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 620px !important;
  justify-self: center !important;
  align-self: center !important;
}

#search_header.az-tabs-top .search_box {
  width: 100% !important;
  max-width: 620px !important;
}

#search_header.az-tabs-top .az-search-status {
  grid-area: auto !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: start !important;
  align-self: center !important;
}

@media (max-width: 760px) {
  #search_header.az-tabs-top .az-search-primary {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas: none !important;
  }
  #search_header.az-tabs-top #search_logo { grid-column: 1 !important; justify-self: center !important; }
  #search_header.az-tabs-top #search_view { grid-column: 2 !important; width: 100% !important; max-width: none !important; }
}


/* asearchz searchbox fill centered wrapper — 2026-05-08 */
#search_header.az-tabs-top #search_view > .search_box {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* asearchz searchview padding reset — 2026-05-08 */
#search_header.az-tabs-top #search_view {
  padding: 0 !important;
  box-sizing: border-box !important;
}


/* asearchz homepage topbar placement fix — 2026-05-08 */
/* The homepage top navigation lives inside #main_index. SearXNG's default
   homepage centering adds a large top margin to #main_index, which visually
   drops About / Agents / Preferences into the middle of the page. Reset only
   the homepage container margin so the topbar starts at the actual top while
   leaving the results-page tabs/search layout untouched. */
body.index_endpoint #main_index {
  margin-top: 0 !important;
  padding-top: 0 !important;
  min-height: auto !important;
}


/* asearchz responsive topbar label fix — 2026-05-08 */
/* SearXNG hides the About/Preferences label spans on narrower screens. The
   custom luxury topbar needs the labels visible so the nav reads correctly. */
#links_on_top.az-topbar a.az-nav-link > span {
  display: inline !important;
}

#links_on_top.az-topbar a.az-nav-link {
  width: auto !important;
  min-width: max-content !important;
  flex: 0 0 auto !important;
}
