
/* Local review 2026-11-04: readable categories on phones and tablets. */
@media (max-width:850px) {
  #categoryFilters.filter-options {
    display:flex; flex-direction:column; flex-wrap:nowrap;
    width:100%; min-width:0; max-height:none; height:auto;
    overflow:visible; column-count:1; gap:2px;
  }
  #categoryFilters > h4 {width:100%;margin:20px 0 8px;}
  #categoryFilters > button {
    display:block; flex:none; width:100%; max-width:100%; min-width:0;
    min-height:44px; padding:10px 0; text-align:left;
    white-space:normal; overflow-wrap:break-word;
    color:var(--text,#202720); -webkit-appearance:none; appearance:none;
  }
  #categoryFilters > button.active {color:var(--green,#2c5742);}
  .filters.is-open {overflow-x:hidden;overscroll-behavior:contain;padding-bottom:max(22px,env(safe-area-inset-bottom));}
}
.back-to-top {
  position:fixed;right:24px;bottom:24px;z-index:35;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-width:48px;min-height:48px;padding:0 16px;
  border:1px solid #ffffff66;border-radius:28px;
  background:var(--green,#2c5742);color:#fff;
  font:500 14px/1 Arial,sans-serif;box-shadow:0 4px 18px #162c2426;
  cursor:pointer;transition:background .18s,transform .18s;
}
.back-to-top[hidden],body:has(.filters.is-open) .back-to-top,body:has(dialog[open]) .back-to-top {display:none;}
.back-to-top:hover {background:#204532;transform:translateY(-2px);}
.back-to-top:focus-visible {outline:3px solid #86ad98;outline-offset:4px;}
.back-to-top__arrow {font-size:23px;line-height:1;}
@media(max-width:600px) {.back-to-top{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:0;width:48px;}.back-to-top__label{display:none;}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none;}.back-to-top:hover{transform:none;}}
