/* Premium opened filter drawer. Native widgets, trigger and focus ownership
 * are unchanged. The shared viewport contract now leaves a safe frame. */
.products-mobile-filter { --bb-premium-filter-drawer:1; }
/* Footer exists only for the ready mobile sheet; hidden on desktop, no-JS,
 * failed init or without the premium class. */
.bb-filter-sheet-footer, .bb-filter-sheet-footer[hidden] { display:none !important; }
@media (max-width:767px) {
  .bb-modernization-ready .products-mobile-filter.bb-filter-premium {
    --bbf-yellow:#f6c945; --bbf-yellow-soft:#fbeec0;
    background:var(--bb-color-cream,#f5f1e5);
    border:2px solid var(--bbf-yellow);
    border-radius:1rem;
    box-shadow:-10px 0 32px rgba(48,36,56,.28);
  }
  .bb-filter-premium .products-mobile-filter-head {
    background:var(--bb-color-purple,#432a49) !important; color:#fffdf7;
    border-bottom:3px solid var(--bbf-yellow) !important; gap:.5rem;
  }
  .bb-filter-premium .bb-filter-sheet-kicker {
    flex:0 0 .875rem; width:.875rem; height:.875rem; background:var(--bbf-yellow);
    clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
  }
  .bb-filter-premium .products-mobile-filter-head .mobile-shop-title {
    flex:1 1 auto; color:#fffdf7; font-size:1.375rem; letter-spacing:.01em;
  }
  .bb-filter-premium .btn-close-filter {
    border-radius:999px; background-color:#fffdf7; opacity:1;
    background-size:.875rem;
  }
  .bb-filter-premium .btn-close-filter:focus-visible {
    outline:3px solid var(--bbf-yellow) !important; outline-offset:3px; box-shadow:none;
  }
  .bb-filter-premium .products-mobile-filter-content { padding-top:1.25rem !important; }

  /* Organise each existing native widget as a card; nothing is collapsed or cloned. */
  .bb-filter-premium .filter-area-wrapper,
  .bb-filter-premium .berocket_single_filter_widget {
    margin:0 0 .875rem; padding:1rem; border:1px solid var(--bb-color-line,rgba(67,42,73,.16));
    border-radius:1rem; background:var(--bb-color-paper,#fffdf7);
    box-shadow:0 2px 0 rgba(67,42,73,.08);
  }
  .bb-filter-premium .filter-area-wrapper .berocket_single_filter_widget {
    margin:0; padding:0; border:0; box-shadow:none; background:transparent;
  }
  .bb-filter-premium .filter-area-wrapper > h4,
  .bb-filter-premium .bapf_head h3,
  .bb-filter-premium .bapf_head {
    margin:0 0 .75rem; color:var(--bb-color-purple,#432a49);
    font-family:var(--bb-font-body); font-size:1rem; font-weight:700; line-height:1.35;
  }
  .bb-filter-premium .filter-area-wrapper > h4::after {
    content:""; display:block; width:2rem; height:3px; margin-top:.4rem;
    border-radius:3px; background:var(--bbf-yellow);
  }
  .bb-filter-premium .bapf_body ul { margin:0; padding:0; list-style:none; }
  .bb-filter-premium .bapf_body li { margin:0; }
  .bb-filter-premium .bapf_body li > label,
  .bb-filter-premium .bapf_body li > input + label {
    display:inline-flex; align-items:center; min-height:44px; padding:.25rem .25rem;
    color:var(--bb-color-ink,#302438); font-family:var(--bb-font-body); font-size:.9375rem; cursor:pointer;
  }
  .bb-filter-premium input[type="checkbox"],
  .bb-filter-premium input[type="radio"] {
    width:1.25rem; height:1.25rem; margin-right:.5rem; accent-color:var(--bb-color-purple,#432a49);
  }
  /* Obvious selected state from native checked inputs / provider classes. */
  .bb-filter-premium .bapf_body li:has(input:checked) > label,
  .bb-filter-premium .bapf_body li.checked > label {
    font-weight:700; color:var(--bb-color-purple,#432a49);
    background:linear-gradient(transparent 62%,var(--bbf-yellow-soft) 62%);
  }
  .bb-filter-premium .bapf_sfilter .bapf_body li a,
  .bb-filter-premium .bapf_sfa_unall a {
    display:inline-flex; align-items:center; min-height:36px; margin:.2rem .25rem .2rem 0;
    padding:.35rem .75rem; border-radius:999px; background:var(--bb-color-purple,#432a49);
    color:#fffdf7; text-decoration:none; font-size:.875rem;
  }
  .bb-filter-premium select {
    width:100%; min-height:44px; border:1px solid var(--bb-color-line); border-radius:.75rem;
    background-color:#fffdf7; color:var(--bb-color-ink,#302438);
  }
  .bb-filter-premium .products-mobile-filter-content :focus-visible {
    outline:3px solid var(--bb-color-lilac,#8d62a8) !important; outline-offset:2px;
  }

  .bb-modernization-ready:not(.bb-modernization-failed) .bb-filter-premium .bb-filter-sheet-footer:not([hidden]) {
    display:flex !important; flex:0 0 auto; gap:.625rem; align-items:center;
    padding:.75rem max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
    background:var(--bb-color-paper,#fffdf7); border-top:1px solid var(--bb-color-line);
  }
  .bb-filter-premium .bb-filter-sheet-footer button {
    min-height:48px; padding:.65rem 1rem; border-radius:999px;
    font-family:var(--bb-font-body); font-size:.9375rem; font-weight:700; line-height:1.25;
  }
  .bb-filter-premium .bb-filter-sheet-results {
    flex:1 1 auto; border:2px solid var(--bb-color-purple,#432a49);
    background:var(--bbf-yellow); color:var(--bb-color-purple,#432a49);
  }
  .bb-filter-premium .bb-filter-sheet-footer button:focus-visible {
    outline:3px solid var(--bb-color-lilac,#8d62a8) !important; outline-offset:3px;
  }
}
@media (max-width:767px) and (forced-colors:active) {
  .bb-filter-premium .bb-filter-sheet-kicker,
  .bb-filter-premium .filter-area-wrapper > h4::after { background:CanvasText; }
  .bb-filter-premium .bb-filter-sheet-footer button { border-color:ButtonText; }
}
@media (prefers-reduced-motion:reduce) {
  .bb-filter-premium, .bb-filter-premium * { transition:none !important; animation:none !important; }
}
