/* V23 — consistent mobile controls and non-displacing filters. */
:root .menu-open :is(.assistant-launcher,.assistant-invite),:root .filters-modal-open :is(.assistant-launcher,.assistant-invite){visibility:hidden;opacity:0;pointer-events:none}
.filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.filter-heading h2{font-size:19px!important;line-height:1.3;margin:0}.filters-close,.filters-apply,.filters-backdrop{display:none}
@media(max-width:980px){
 :root .hero-stage{margin-top:20px;margin-bottom:0}
 :root .mobile-header .brand-name{display:block;white-space:nowrap;font-size:15px}
 :root .mobile-header .brand{flex-shrink:0;gap:5px}
 :root .sidebar .account-nav{justify-content:center;align-items:center;text-align:center;width:100%;gap:12px}
}
@media(max-width:430px){
 :root .mobile-header{padding-inline:9px;gap:5px}
 :root .mobile-header .brand-icon{width:26px;height:28px}
 :root .mobile-header .brand-name{font-size:14px}
 :root .mobile-header__actions{gap:3px}
 :root .mobile-header .mobile-account{font-size:11px;padding:7px 3px;gap:4px}
 :root .mobile-account svg{width:17px;height:17px}
 :root .mobile-header .menu-toggle{min-width:70px;padding:8px 6px;font-size:11px;gap:5px}
}
@media(max-width:350px){:root .mobile-header .brand-name{font-size:12px}:root .mobile-header .brand-icon{width:22px}:root .mobile-header .menu-toggle{min-width:65px}:root .mobile-header .brand{gap:3px}}
@media(max-width:700px){
 .filters-modal-open{overflow:hidden}
 :root :is(.catalog-fluid,.filters-portal) .catalog-filters,:root .catalog-layout.filters-open .catalog-filters{
  display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;width:min(92vw,390px);height:100svh;max-height:none;margin:0;padding:0;border:0;border-left:1px solid #b49b71;border-radius:0;z-index:152;background:#faf5eb;
  transform:translateX(102%);visibility:hidden;opacity:0;transition:transform .25s ease,opacity .2s ease,visibility 0s .25s;overflow:hidden;box-shadow:-20px 0 50px #29231a22;
 }
 :root :is(.catalog-layout,.filters-portal).filters-open .catalog-filters{transform:translateX(0);visibility:visible;opacity:1;transition:transform .25s ease,opacity .2s ease,visibility 0s}
 :root .filter-heading{padding:20px 22px;border-bottom:1px solid #c9b794;margin:0;flex-shrink:0}
 .filters-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #bba582;background:transparent;border-radius:8px;color:#292323;font-size:26px;cursor:pointer}
 :root .catalog-filter-form{padding:4px 24px 25px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}
 :root .catalog-filter-form fieldset:first-child{display:block}
 .filters-apply{display:block;margin:15px 22px max(20px,env(safe-area-inset-bottom));min-height:48px;flex-shrink:0;border:1px solid #292323;border-radius:9px;background:#292323;color:#f2d59a;font-size:15px;font-weight:600;cursor:pointer}
 .filters-backdrop{display:block;position:fixed;inset:0;border:0;background:#1f191938;backdrop-filter:blur(5px);z-index:151;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s .25s}
 .filters-open .filters-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,visibility 0s}
 :root .catalog-layout.filters-open .catalog-results{order:2}
}
@media(prefers-reduced-motion:reduce){:root :is(.catalog-fluid,.filters-portal) .catalog-filters,:root .filters-backdrop{transition:none}}


/* V24: root-level mobile filter layer; never inherit main's stacking context. */
.filters-portal{display:none;background:transparent;border:0;box-shadow:none}
@media(max-width:700px){
 :root .filters-portal{display:block;position:fixed;inset:0;margin:0;padding:0;width:auto;z-index:1000;pointer-events:none;isolation:isolate;background:transparent;border:0;box-shadow:none;visibility:hidden}
 :root .filters-portal.filters-open{visibility:visible}
 :root .filters-portal .catalog-filters{pointer-events:none}
 :root .filters-portal.filters-open .catalog-filters{pointer-events:auto}
 :root .filters-modal-open :is(.assistant-launcher,.assistant-invite){display:none!important}
 :root .catalog-toolbar{flex-wrap:nowrap;padding:8px 0;gap:8px}
 :root .catalog-toolbar [data-result-count]{display:none}
 :root .catalog-sort{min-width:0;gap:6px;font-size:12px}
 :root .catalog-sort select{min-width:0;max-width:155px}
}
