/* Spec-filter sidebar on products.html / ar/products.html (js/products-filters.js).
   Desktop >= 1025px: sticky sidebar beside the catalog. Below: off-canvas drawer.
   The aside is inserted at runtime so the CMS catalog parser (admin.php
   parseCatalog) still sees category blocks directly inside .container. */
.pf-open-btn{display:none;}
.pf-side{font-family:var(--font);color:var(--dark);}
.pf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;}
.pf-title{font-size:.95rem;font-weight:800;color:var(--primary);margin:0;display:flex;align-items:center;gap:8px;}
.pf-title i{color:var(--secondary);font-size:.85rem;}
.pf-close{display:none;}
.pf-reset{white-space:nowrap;background:none;border:0;padding:4px 0;font-family:var(--font);font-size:.78rem;font-weight:700;color:#B5590C;cursor:pointer;}
.pf-reset:disabled{color:var(--gray,#8a8ca5);opacity:.55;cursor:default;}
.pf-reset:not(:disabled):hover{text-decoration:underline;}
.pf-summary{padding:0 18px 14px;font-size:.8rem;color:var(--gray,#6b6e8a);line-height:1.55;}
.pf-summary strong{color:var(--primary);font-size:1.05rem;font-weight:800;}
.pf-aside-note{display:block;margin-top:6px;font-size:.72rem;}
.pf-groups{border-top:1px solid var(--border);}
.pf-group{border-bottom:1px solid var(--border);}
.pf-group:last-child{border-bottom:0;}
.pf-gbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:none;border:0;cursor:pointer;font-family:var(--font);font-size:.82rem;font-weight:700;color:var(--primary);text-align:start;}
.pf-gbtn i{font-size:.65rem;color:var(--gray,#8a8ca5);transition:transform .2s ease;}
.pf-gbtn[aria-expanded="true"] i{transform:rotate(180deg);}
.pf-gl{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pf-gsel{font-weight:600;color:#B5590C;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-gsel:empty{display:none;}
.pf-opts{padding:0 18px 12px;display:grid;gap:2px;}
.pf-opts[hidden]{display:none;}
.pf-opt{display:flex;align-items:center;gap:10px;padding:6px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;font-size:.8rem;color:var(--dark);line-height:1.35;}
.pf-opt:hover{background:var(--bg);}
.pf-opt input{accent-color:var(--primary);width:15px;height:15px;margin:0;flex-shrink:0;cursor:pointer;}
.pf-opt span{flex:1;}
.pf-opt em{font-style:normal;font-size:.72rem;color:var(--gray,#8a8ca5);font-variant-numeric:tabular-nums;}
.pf-opt.is-on{font-weight:700;color:var(--primary);background:rgba(36,40,94,.06);}
.pf-opt.is-zero{opacity:.45;}
.pf-note{padding:12px 18px 16px;margin:0;font-size:.7rem;line-height:1.6;color:var(--gray,#8a8ca5);border-top:1px solid var(--border);}
.pf-foot{display:none;}
.pf-empty{grid-column:2;padding:48px 24px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg,16px);background:var(--white);color:var(--gray,#6b6e8a);font-size:.92rem;line-height:1.7;}
.pf-empty button{margin-top:12px;background:var(--primary);color:var(--white);border:0;border-radius:10px;padding:10px 20px;font-family:var(--font);font-weight:700;font-size:.82rem;cursor:pointer;}
.pf-empty[hidden]{display:none;}
.pf-overlay{display:none;}

@media(min-width:1025px){
  .products-section > .container:has(> .pf-side){display:grid;grid-template-columns:264px minmax(0,1fr);column-gap:36px;align-items:start;}
  .products-section > .container:has(> .pf-side) > *{grid-column:2;}
  .products-section > .container > aside.pf-side{grid-column:1;grid-row:1 / span 200;position:sticky;top:var(--pf-top,170px);max-height:calc(100vh - var(--pf-top,170px) - 20px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg,16px);scrollbar-width:thin;}
  .products-section > .container:has(> .pf-side) .prod-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
}
@media(min-width:1025px) and (max-width:1200px){
  .products-section > .container:has(> .pf-side) .prod-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:1024px){
  .pf-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:41px;padding:0 16px;border-radius:10px;border:2px solid var(--primary);background:var(--white);color:var(--primary);font-family:var(--font);font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;position:relative;}
  .pf-open-btn b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--secondary);color:var(--white);font-size:.7rem;}
  .pf-open-btn b[hidden]{display:none;}
  .pf-side{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(88vw,360px);z-index:1101;background:var(--white);display:flex;flex-direction:column;transform:translateX(-105%);transition:transform .28s ease;box-shadow:0 0 40px rgba(26,28,58,.25);visibility:hidden;}
  [dir="rtl"] .pf-side{transform:translateX(105%);}
  .pf-side.is-open{transform:none;visibility:visible;}
  .pf-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;}
  .pf-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--primary);cursor:pointer;font-size:.9rem;}
  .pf-head-r{display:flex;align-items:center;gap:14px;}
  .pf-foot{display:block;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--white);}
  .pf-apply{width:100%;height:46px;border:0;border-radius:10px;background:var(--primary);color:var(--white);font-family:var(--font);font-weight:700;font-size:.9rem;cursor:pointer;}
  .pf-overlay{display:block;position:fixed;inset:0;background:rgba(26,28,58,.45);z-index:1100;opacity:0;pointer-events:none;transition:opacity .25s ease;}
  .pf-overlay.is-open{opacity:1;pointer-events:auto;}
  .pf-empty{grid-column:auto;}
  body.pf-lock{overflow:hidden;}
}
@media(min-width:769px) and (max-width:1024px){
  .f-actions .pf-open-btn{height:37px;}
}
@media(max-width:768px){
  .f-actions .pf-open-btn{padding:0 12px;}
  .f-actions .search-bar{min-width:0;}
  .f-actions .search-bar input{width:100%;min-width:0;}
  .f-actions .f-catalog{flex-shrink:0;}
}
/* scope hint + empty state actions (2026-10-20) */
.pf-scope{display:block;margin-top:4px;font-size:.74rem;}
.pf-scope-all{background:none;border:0;padding:0;font-family:var(--font);font-size:.74rem;font-weight:700;color:#B5590C;cursor:pointer;text-decoration:underline;}
.pf-empty{width:100%;box-sizing:border-box;}
.pf-empty-msg{margin:0 0 4px;color:var(--primary);font-weight:600;}
.pf-empty-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.pf-empty .pf-clear{background:var(--white);color:var(--primary);border:2px solid var(--primary);}
.pf-empty button[hidden]{display:none;}
