.rb-f{--rb-f-accent:#111;--rb-f-line:#e5e5e7;font-size:14px}
.rb-f__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rb-f__head strong{font-size:16px;flex:1}
.rb-f__close{display:none;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.rb-f__clear{font-size:13px;text-decoration:underline}
.rb-f__sec{border-top:1px solid var(--rb-f-line);padding:10px 0}
.rb-f__sec>summary{cursor:pointer;font-weight:600;padding:6px 0;list-style:none;display:flex;align-items:center;gap:10px}
.rb-f__sec-title{flex:1}
.rb-f__sec-clear{font-size:12px;font-weight:500;text-decoration:underline;opacity:.75}
.rb-f__sec-clear:hover{opacity:1}
.rb-f__sec>summary::-webkit-details-marker{display:none}
.rb-f__sec>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;transition:rotate .2s;margin-inline-start:8px}
.rb-f__sec[open]>summary::after{rotate:-135deg}
.rb-f__opts{list-style:none;margin:6px 0 0;padding:0 10px 0 0;max-height:260px;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin}
[dir="rtl"] .rb-f__opts{padding:0 0 0 10px}
.rb-f__opt label{display:flex;align-items:center;gap:8px;padding:5px 0;cursor:pointer}
.rb-f__opt span{flex:1}
.rb-f__count{font-style:normal;opacity:.55;font-size:12px;margin-inline-start:8px;flex:0 0 auto}
.rb-f__link a{display:flex;align-items:center;gap:8px;padding:6px 0;text-decoration:none;color:inherit}
.rb-f__link a span{flex:1}
.rb-f__link a:hover span{text-decoration:underline}
.rb-f__link.is-current a{font-weight:700}
.rb-f__link--up a{opacity:.7;font-size:13px}
.rb-f__more-btn{background:none;border:0;padding:6px 0;color:var(--rb-f-accent);text-decoration:underline;cursor:pointer;font-size:13px}
/* switches */
.rb-f__switches{display:flex;flex-direction:column;gap:10px;padding-bottom:12px}
.rb-f__switch{display:flex;align-items:center;gap:10px;cursor:pointer}
.rb-f__switch input{position:absolute;opacity:0;width:0;height:0}
.rb-f__track{width:38px;height:22px;border-radius:11px;background:#d5d5d8;position:relative;transition:background .2s;flex:0 0 auto}
.rb-f__track::after{content:"";position:absolute;inset-inline-start:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:translate .2s}
.rb-f__switch input:checked+.rb-f__track{background:var(--rb-f-accent)}
.rb-f__switch input:checked+.rb-f__track::after{translate:16px 0}
[dir="rtl"] .rb-f__switch input:checked+.rb-f__track::after{translate:-16px 0}
.rb-f__switch input:focus-visible+.rb-f__track{outline:2px solid var(--rb-f-accent);outline-offset:2px}
/* price */
.rb-f__price{padding:10px 2px 2px}
.rb-f__nums{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:nowrap}
.rb-f .rb-f__n{flex:1 1 0;min-width:72px;width:auto;height:38px;padding:8px 10px;border:1px solid #c9c9cf;border-radius:8px;font-size:14px;line-height:1.2;text-align:center;background:#fff;-moz-appearance:textfield}
.rb-f__n:focus{outline:none;border-color:var(--rb-f-accent)}
.rb-f__n::-webkit-outer-spin-button,.rb-f__n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rb-f__to{flex:0 0 auto;font-size:11px;letter-spacing:.04em;opacity:.6;text-transform:uppercase}
.rb-f button.rb-f__go{flex:0 0 auto;width:auto;min-width:0;background:none;border:0;border-radius:0;box-shadow:none;padding:0 2px;margin:0;font-size:13px;line-height:1;font-weight:700;letter-spacing:.04em;color:var(--rb-f-accent);cursor:pointer;text-transform:uppercase}
.rb-f button.rb-f__go:hover{background:none;text-decoration:underline;color:var(--rb-f-accent)}
.rb-f__actions{margin-top:14px}
.rb-f__apply{width:100%}
/* mobile drawer */
button.rb-f__open{display:none!important;align-items:center;gap:8px;margin-bottom:12px}
.rb-f__badge{font-style:normal;background:var(--rb-f-accent,#111);color:#fff;border-radius:10px;padding:0 7px;font-size:12px}
.rb-f__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99998;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}
.rb-f__backdrop.is-open{opacity:1}
.rb-f__backdrop.is-loading{background:rgba(255,255,255,.7);cursor:progress}
/* loading spinner: fades in after 150ms so fast loads don't flicker */
.rb-f__spinner{display:none;width:38px;height:38px;border:3px solid rgba(0,0,0,.12);border-top-color:#111;border-radius:50%}
.rb-f__backdrop.is-loading .rb-f__spinner{display:block;opacity:0;animation:rb-f-spin .8s linear infinite,rb-f-fade .2s .15s forwards}
.rb-f__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes rb-f-spin{to{rotate:360deg}}
@keyframes rb-f-fade{to{opacity:1}}
/* floating widgets (TranslatePress switcher v1 + v2, WhatsApp, Modern Cart) must not sit over the drawer or loader */
body.rb-f-lock :is(#trp-floater-ls,.trp-floater-ls,#trp-floater-ls-current-language,.trp-language-switcher-container,.trp-floating-switcher,.asran-wa-float,#moderncart-floating-cart),
body.rb-f-busy :is(#trp-floater-ls,.trp-floater-ls,#trp-floater-ls-current-language,.trp-language-switcher-container,.trp-floating-switcher,.asran-wa-float,#moderncart-floating-cart){opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .15s}
@media (max-width:991px){
  button.rb-f__open{display:inline-flex!important}
  /* inset-inline-start already means "right" in RTL — no extra flip, and never off-screen
     (an off-screen panel made the page scroll sideways) */
  .rb-f{position:fixed;z-index:99999;inset-block:0;inset-inline-start:0;width:min(88vw,360px);background:#fff;padding:16px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 0 30px rgba(0,0,0,.18);visibility:hidden;opacity:0;transform:translateX(-14px);transition:opacity .2s ease,transform .25s ease,visibility .25s}
  [dir="rtl"] .rb-f{transform:translateX(14px)}
  .rb-f.is-open{visibility:visible;opacity:1;transform:none}
  .rb-f__close{display:block}
  .rb-f button.rb-f__go{display:none} /* the Apply button covers it on mobile */
  .rb-f__actions{position:sticky;bottom:0;background:#fff;padding-top:10px}
}
@media (prefers-reduced-motion:reduce){.rb-f,.rb-f__backdrop,.rb-f__track::after{transition:none}.rb-f{transform:none}.rb-f__backdrop.is-loading .rb-f__spinner{animation:rb-f-fade .2s .15s forwards;border-top-color:rgba(0,0,0,.12);border-inline-start-color:#111}}
