.brand-picker-search { margin-top:10px; }
.brand-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; max-height:340px; overflow:auto; overscroll-behavior:contain; padding:6px 2px; margin-top:6px; }
.brand-choice { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-width:0; min-height:82px; padding:8px 3px; border:1px solid var(--border); border-radius:10px; background:var(--card-bg,white); color:var(--text); cursor:pointer; font:inherit; font-size:11px; line-height:1.3; text-align:center; }
.brand-choice[hidden] { display:none; }
.brand-choice img { background:white; border-radius:5px; }
.brand-choice small { color:var(--text-muted); font-size:9px; }
.brand-choice.selected { border-color:var(--primary); background:var(--bg-alt,#eaf7f2); box-shadow:inset 0 0 0 1px var(--primary); }
@media(hover:hover) { .brand-choice:hover { border-color:var(--primary); background:var(--bg-alt,#eaf7f2); } }
.brand-mark { position:relative; display:grid; place-items:center; width:28px; height:28px; border-radius:5px; background:var(--bg); font-weight:700; font-size:11px; }
.brand-mark img { position:absolute; inset:0; opacity:0; }
.brand-mark img.loaded { opacity:1; }
.brand-choice:focus-visible, .mobile-filter-btn:focus-visible { outline:3px solid #10b981; outline-offset:2px; }
.filter-count { border-radius:50%; background:white; color:#064e3b; min-width:22px; padding:1px 5px; }
.search-suggestion-heading { padding:10px 14px; font-size:12px; font-weight:700; color:var(--text-muted); }
.search-result-item { gap:10px; cursor:pointer; }
.search-result-item small { display:block; font-size:12px; color:var(--text-muted); margin-top:3px; }
.search-result-item[aria-selected="true"] { background:var(--bg-alt,#eaf7f2); box-shadow:inset 3px 0 #10b981; }
.google-auth { padding:16px 0; text-align:center; }
.google-auth h3 { margin-bottom:12px; }
.google-auth p { margin:12px 0; color:var(--text-muted); }
.google-auth small { display:block; font-size:12px; margin-top:20px; color:var(--text-muted); }
#googleSignInButton { display:flex; justify-content:center; min-height:44px; }
.member-local-note { margin-top:24px; font-size:13px; color:var(--text-muted); }
@media(max-width:768px) {
  /* Page animation retains a transform; fixed filters must use the viewport. */
  #main:has(.filter-sidebar) { animation:none; transform:none; }
  .filter-sidebar { max-width:calc(100vw - 40px); height:100dvh !important; padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important; overscroll-behavior:contain; }
  .filter-sidebar.open .filter-panel { position:static; }
  .mobile-filter-btn { bottom:calc(var(--filter-bottom,24px) + env(safe-area-inset-bottom)) !important; transition:background-color .2s,box-shadow .2s; }
  .search-dropdown { max-height:min(380px,55dvh) !important; overflow:auto; overscroll-behavior:contain; }
}
