/* Enhanced controls are created only when JS and native dialog are available. */
.asb-filter-toolbar,.asb-filter-controls,.asb-filter-dialog { display: none; }
.asb-mobile-pagination { display:none; }
body.asb-filter-enhanced #content .asb-pagination-original { text-align:center; justify-content:center; }
/* Reserve both title lines on every viewport, including desktop grid cards. */
body.asb-filter-enhanced #content .products .product-grid-view .product-title { min-height:3em; }
@media (max-width:800px) {
  body.asb-filter-enhanced #content .asb-pagination-original { display:none; }
  body.asb-filter-enhanced #content .asb-mobile-pagination { display:flex; align-items:center; justify-content:center; gap:12px; clear:both; margin:28px 0 40px; }
  .asb-page-step { display:flex; align-items:center; justify-content:center; min-width:80px; min-height:48px; box-sizing:border-box; padding:8px 12px; border:1px solid #91877e; color:#302923; background:#fff; font-size:15px; text-decoration:none; white-space:nowrap; }
  .asb-page-step[aria-disabled=true] { color:#a59e97; border-color:#e6e1dc; background:#faf9f7; }
  .asb-page-status { min-width:48px; text-align:center; font-size:15px; color:#302923; white-space:nowrap; }
  .asb-page-step:focus-visible { outline:2px solid #93774e; outline-offset:3px; }
}
@media (max-width:1024px) {
  body.asb-filter-enhanced #content { width:100% !important; float:none !important; margin:0 !important; }
  body.asb-filter-enhanced #sidebar { width:100% !important; float:none !important; clear:both; margin:30px 0 0 !important; }
  .asb-filter-controls { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; position:sticky; top:var(--asb-filter-top,0px); z-index:100; clear:both; padding:8px 0; margin:0 0 12px; background:#fff; border-bottom:1px solid #e6e1dc; }
  .asb-filter-controls.asb-filter-has-sort { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
  .asb-filter-controls.asb-filter-has-search { grid-template-columns:44px minmax(0,1fr); }
  .asb-filter-controls.asb-filter-has-search.asb-filter-has-sort { grid-template-columns:44px minmax(0,1fr) minmax(0,1.3fr); }
  .asb-filter-controls.asb-filter-has-cart { grid-template-columns:minmax(0,1fr) 44px; }
  .asb-filter-controls.asb-filter-has-sort.asb-filter-has-cart { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 44px; }
  .asb-filter-controls.asb-filter-has-search.asb-filter-has-cart { grid-template-columns:44px minmax(0,1fr) 44px; }
  .asb-filter-controls.asb-filter-has-search.asb-filter-has-sort.asb-filter-has-cart { grid-template-columns:44px minmax(0,1fr) minmax(0,1.3fr) 44px; gap:6px; }
  .asb-filter-cart { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:46px; border:1px solid #91877e; box-sizing:border-box; color:#302923; background:#fff; text-decoration:none; }
  .asb-filter-cart svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; }
  .asb-filter-cart .asb-header-cart-count { position:absolute; top:1px; right:1px; display:flex; align-items:center; justify-content:center; min-width:16px; height:16px; padding:0 2px; border-radius:12px; background:#302923; color:#fff; font-size:10px; line-height:1; }
  .asb-filter-cart:focus-visible { outline:2px solid #93774e; outline-offset:2px; }
  .asb-filter-search { display:flex; align-items:center; justify-content:center; width:44px; height:46px; padding:0; border:1px solid #91877e; border-radius:0; background:#fff; color:#302923; cursor:pointer; }
  .asb-filter-search svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.5; fill:none; }
  .asb-filter-search:focus-visible { outline:2px solid #93774e; outline-offset:2px; }
  .asb-filter-toolbar { display:block; clear:both; margin:0 0 18px; text-align:left; }
  .asb-filter-toolbar:empty { display:none; }
  .asb-filter-original-sorting { display:none !important; }
  .asb-filter-open { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:46px; padding:10px 8px; border:1px solid #91877e; background:#fff; color:#302923; font:inherit; font-size:14px; cursor:pointer; border-radius:0; }
  .asb-filter-sort { width:100%; min-width:0; height:46px; padding:8px 20px 8px 8px; border:1px solid #91877e; border-radius:0; background:#fff; color:#302923; font:inherit; font-size:16px; }
  .asb-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
  .asb-filter-chips a { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; max-width:100%; overflow-wrap:anywhere; background:#f4f1ed; color:#302923; font-size:12px; line-height:1.5; }
  .asb-filter-clear { display:inline-block; margin-top:10px; font-size:13px; text-decoration:underline; }
  .asb-filter-dialog[open] { display:flex; flex-direction:column; position:fixed; inset:0 0 0 auto; margin:0; width:min(92vw,420px); max-width:100%; height:100dvh; max-height:100%; padding:0; border:0; color:#302923; background:#fff; box-sizing:border-box; box-shadow:-6px 0 30px #0002; z-index:999999; }
  .asb-filter-dialog::backdrop { background:#0007; }
  .asb-filter-dialog * { box-sizing:border-box; }
  .asb-filter-header { display:flex; align-items:center; justify-content:space-between; flex:none; padding:18px 20px; border-bottom:1px solid #e6e1dc; }
  .asb-filter-header h2 { margin:0; font-size:18px; }
  .asb-filter-close { min-width:44px; min-height:44px; border:0; background:transparent; font-size:24px; color:#302923; cursor:pointer; }
  .asb-filter-body { flex:1; min-height:0; padding:8px 20px 20px; overflow:auto; overscroll-behavior:contain; }
  .asb-filter-help { margin:12px 0; font-size:12px; line-height:1.7; color:#746a62; }
  .asb-filter-section { border-bottom:1px solid #e6e1dc; }
  .asb-filter-section summary { padding:16px 0; font-size:15px; font-weight:600; cursor:pointer; }
  .asb-filter-dialog .widget { margin:0 0 20px; font-size:14px; width:100%; }
  .asb-filter-dialog .widget > h3,.asb-filter-dialog .widget > h4,.asb-filter-dialog .widget > .heading { display:none; }
  .asb-filter-dialog ul { padding-left:0; list-style:none; }
  .asb-filter-dialog li a { display:inline-block; padding:6px 0; }
  .asb-filter-dialog .tagcloud { display:flex; flex-wrap:wrap; gap:8px; }
  .asb-filter-dialog .tagcloud a { padding:6px 10px; font-size:13px !important; border:1px solid #e6e1dc; }
  .asb-filter-dialog .price_slider_amount { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
  .asb-filter-dialog .price_label { flex-basis:100%; font-size:13px; }
  .asb-filter-footer { flex:none; padding:14px 20px max(14px,env(safe-area-inset-bottom)); border-top:1px solid #e6e1dc; background:#fff; }
  .asb-filter-done { display:block; width:100%; min-height:46px; border:0; background:#302923; color:#fff; font:inherit; cursor:pointer; }
  html.asb-filter-is-open { overflow:hidden; }
  .asb-filter-open:focus-visible,.asb-filter-close:focus-visible,.asb-filter-done:focus-visible,.asb-filter-section summary:focus-visible { outline:2px solid #93774e; outline-offset:3px; }
}
@media (max-width:374px) {
  .asb-filter-controls.asb-filter-has-search.asb-filter-has-sort.asb-filter-has-cart { grid-template-columns:44px minmax(0,1fr) 44px; }
  .asb-filter-has-cart .asb-filter-search { grid-column:1; grid-row:1; }
  .asb-filter-has-cart .asb-filter-open { grid-column:2; grid-row:1; }
  .asb-filter-has-cart .asb-filter-cart { grid-column:3; grid-row:1; }
  .asb-filter-has-cart .asb-filter-sort { grid-column:1 / -1; grid-row:2; }
}
