  /* panel de filtros (lateral en PC, pantalla completa en celular) */
  #modal-filtros,#modal-orden{position:fixed;inset:0;z-index:170;background:rgba(9,9,11,.38);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility 0s linear .4s;}
  #modal-filtros.open,#modal-orden.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--ease),visibility 0s;}
  #modal-filtros{display:flex;justify-content:flex-end;}
  .flt-drawer{display:flex;flex-direction:column;width:min(50vw,683px);min-width:440px;height:100%;background:#fff;transform:translateX(100%);transition:transform .4s var(--ease);}
  #modal-filtros.open .flt-drawer{transform:none;}
  .flt-head{display:flex;align-items:center;gap:16px;padding:26px 32px 24px;border-bottom:1px solid #bdbdc2;}
  .flt-titulo{font-family:var(--font-titulo);font-size:var(--fs-titulo-2);font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--black);}
  .flt-reset{background:none;border:none;border-bottom:1px solid var(--black);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--black);cursor:pointer;padding:0 0 1px;}
  .flt-x{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--black);display:flex;padding:4px;}
  .flt-x svg{width:22px;height:22px;}
  .flt-body{flex:1;overflow-y:auto;overscroll-behavior:contain;}
  .flt-sec{border-bottom:1px solid #bdbdc2;}
  .flt-sec>button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:19px 32px;background:none;border:none;font-family:inherit;font-size:var(--fs-etiqueta);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--black);cursor:pointer;text-align:left;}
  .flt-sec>button .mas{font-size:18px;font-weight:300;line-height:1;color:#2a5da8;}
  .flt-opts{display:none;padding:0 32px 16px;}
  .flt-sec.abierta .flt-opts{display:block;}
  .flt-opt{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:var(--fs-texto);color:var(--black);cursor:pointer;}
  .flt-opt input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;border:1px solid #1b1b1d;border-radius:0;background:#fff;cursor:pointer;display:grid;place-content:center;}
  .flt-opt input:checked{background:var(--black);}
  .flt-opt input:checked::after{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);}
  .flt-opt small{margin-left:auto;font-size:var(--fs-etiqueta);color:var(--gris-texto);}
  .flt-foot{padding:12px;border-top:1px solid #bdbdc2;}
  .flt-ver{width:100%;height:50px;background:var(--black);color:#fff;border:none;font-family:inherit;font-size:var(--fs-etiqueta);font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
  @media (max-width:820px){
    .flt-drawer{width:100%;min-width:0;}
    .flt-head{padding:22px 20px 20px;}
    .flt-sec>button{padding:19px 20px;}
    .flt-opts{padding:0 20px 16px;}
  }
  /* hoja "Ordenar por" */
  #modal-orden{display:flex;align-items:flex-end;justify-content:center;}
  .ord-sheet{width:100%;max-width:560px;background:#fff;padding:26px 24px calc(30px + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .4s var(--ease);}
  #modal-orden.open .ord-sheet{transform:none;}
  @media (min-width:821px){ #modal-orden{align-items:center;} .ord-sheet{max-width:440px;transform:translateY(16px);} }
  .ord-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
  .ord-head h2{font-family:var(--font-titulo);font-size:var(--fs-titulo-2);font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--black);}
  .ord-head button{background:none;border:none;cursor:pointer;color:var(--black);display:flex;padding:4px;}
  .ord-head svg{width:20px;height:20px;}
  .ord-opt{display:flex;align-items:center;gap:16px;width:100%;padding:11px 0;background:none;border:none;font-family:inherit;font-size:var(--fs-seccion);color:var(--black);cursor:pointer;text-align:left;}
  .ord-radio{flex:none;width:26px;height:26px;border:1.5px solid var(--black);border-radius:50%;display:grid;place-content:center;}
  .ord-opt.on .ord-radio::after{content:'';width:12px;height:12px;border-radius:50%;background:var(--black);}
