/* R47: GET-фильтры каталога, scalar fallback и multi с CatalogLinksR2. */
.r47-filter-scrim,.r47-filter-head{display:none}
.r47-filter-panel{min-width:0}
.hg-store .r47-filter-panel form{display:flex;flex-direction:column;min-width:0}
.r47-filter-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--hg-line)}
.r47-filter-group h3{margin:0 0 12px;color:var(--hg-ink);font-size:16px;line-height:1.4}
.r47-facet{min-width:0;margin:8px 0 0;padding:0;border-bottom:1px solid var(--hg-line)}
.hg-store .jp-filters .r47-facet>summary{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 0;color:var(--hg-ink);font-size:13px;line-height:1.4;pointer-events:auto}
.r47-facet>summary>strong{flex:1;font-weight:600}
.r47-facet>summary::after{content:'+';margin-left:auto;color:var(--hg-muted);font-size:20px;font-weight:400}
.r47-facet[open]>summary::after{content:'−'}
.r47-facet>summary .r47-selected-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:50%;background:var(--hg-red);color:var(--hg-white);font-size:11px}
.r47-facet>summary .r47-selected-count[hidden]{display:none}
.r47-facet>fieldset{min-width:0;margin:0 0 15px;padding:0;border:0}
.r47-facet select{margin-bottom:15px}
.r47-facet-options{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.r47-facet-options label{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:0;padding:9px 11px;border:1px solid var(--hg-line);border-radius:6px;background:var(--hg-white);color:var(--hg-ink);font-size:12px;line-height:1.35;cursor:pointer}
.hg-store .r47-filter-panel form .r47-facet-options label>span{color:var(--hg-ink)}
.r47-facet-options label:has(input:checked){border-color:var(--hg-ink);background:var(--hg-ink);color:var(--hg-paper)}
.hg-store .r47-filter-panel form .r47-facet-options label:has(input:checked)>span{color:var(--hg-paper)}
.r47-facet-options label:focus-within{outline:2px solid var(--hg-red);outline-offset:2px}
.hg-store .r47-filter-panel form .r47-facet-options label>input[type="checkbox"],.hg-store .r47-filter-panel form .r47-facet-options label>input[type="radio"]{position:absolute!important;width:1px!important;height:1px!important;margin:0;padding:0;opacity:0!important;transition:none!important}
.r47-facet-options small{font-size:11px;color:var(--hg-muted)}
.r47-facet-options label:has(input:checked) small{color:inherit}
.r47-facet-options label.r47-option-unavailable{opacity:.45;cursor:not-allowed}
.r47-facet-options label[hidden]{display:none!important}
.r47-facet-options .r47-facet-clear{display:inline-flex;align-items:center;min-height:44px;padding:9px 11px;border:1px solid var(--hg-line);border-radius:6px;color:var(--hg-ink);font-size:12px;text-decoration:none}
.r47-facet-options .r47-facet-clear:focus-visible{outline:2px solid var(--hg-red);outline-offset:2px}
.r47-facet-options em{font-size:11px;font-style:normal}
.r47-brand-search{display:block;margin:3px 0 11px!important;padding:0!important}
.r47-brand-search input{width:100%;min-height:44px;border:1px solid var(--hg-line);border-radius:6px;padding:9px 12px;background:var(--hg-white);color:var(--hg-ink);font:inherit;font-size:14px}
.r47-brand-search input::placeholder,.r47-filter-panel #filter-query::placeholder{color:var(--hg-muted);opacity:1}
.r47-brand-options{display:grid;grid-template-columns:1fr;max-height:270px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.r47-brand-options label{display:flex;justify-content:space-between;min-width:0;overflow-wrap:anywhere}
.r47-filter-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}
.r47-filter-actions .jp-reset{align-self:center;margin:0}
.r47-filter-actions .jp-button{min-height:44px}
@media(max-width:900px){
  html.r47-enhanced body.r47-filter-open{overflow:hidden}
  html.r47-enhanced .r47-filters>.r47-filter-scrim{display:none}
  html.r47-enhanced .r47-filters[open]>.r47-filter-scrim{display:block;position:fixed;inset:0;z-index:1000;width:100%;height:100%;padding:0;border:0;background:#0009}
  html.r47-enhanced .r47-filters[open]>.r47-filter-panel{position:fixed;inset:0 auto 0 0;z-index:1001;width:min(420px,calc(100vw - 24px));max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 0;background:var(--hg-white);box-shadow:12px 0 40px #0003}
  html.r47-enhanced .r47-filter-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
  html.r47-enhanced .r47-filter-head h2{margin:0;font-size:20px}
  html.r47-enhanced .r47-filter-head button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--hg-line);border-radius:6px;background:var(--hg-white);color:var(--hg-ink);font-size:26px;cursor:pointer}
  html.r47-enhanced .r47-filter-actions{position:sticky;bottom:0;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:22px -18px 0;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--hg-line);background:var(--hg-white)}
  html.r47-enhanced .hg-store .r47-filter-actions>.jp-button,html.r47-enhanced .hg-store .r47-filter-actions>.jp-reset{grid-column:auto;grid-row:auto}
  html.r47-enhanced .r47-filter-actions .jp-reset{min-height:44px;padding-inline:8px}
}

/* R76: статус обновления без анимации и блокировки выбора фильтров. */
.r76-update-status{margin:0 0 12px;color:var(--hg-muted);font-size:14px;line-height:1.5}
.r76-update-status[hidden]{display:none}
.r76-update-status a{margin-inline-start:8px;color:var(--hg-ink);text-decoration:underline}
.r76-update-status a:focus-visible{outline:2px solid var(--hg-red);outline-offset:3px}

/* R128: обычная пагинация в стиле существующих кнопок, без горизонтального overflow на mobile. */
.r128-pagination{margin-top:24px;max-width:100%}
.r128-pagination .r128-pages{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.r128-pagination .r128-pages li{margin:0;padding:0}
.r128-pagination .jp-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:auto;margin:0;padding:10px 13px;text-decoration:none}
.r128-pagination a:focus-visible,[data-r128-results-summary]:focus-visible{outline:2px solid var(--hg-red,currentColor);outline-offset:3px}
.r128-range{font-size:13px;color:var(--hg-muted)}
/* UI-03h (R261): счётчик и диапазон — две смысловые группы; диапазон «· 1–24件を表示» переносится целиком, без одиночного 「示」.
   pre-wrap сохраняет пробел перед «·» в одной строке; balance — если сам диапазон длиннее колонки. Текст, role=status и озвучивание прежние. */
.r128-range{display:inline-block;white-space:pre-wrap;text-wrap:balance}

/* Смена DOM не должна включать browser scroll anchoring поверх сохранённого viewport. */
.jp-catalog-page{overflow-anchor:none}
